@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Caveat:wght@600&display=swap";:root{--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-primary:#0b0f19;--bg-secondary:#131a2c;--bg-glass:#131a2c99;--bg-glass-active:#1e2945cc;--border-glass:#ffffff14;--border-focus:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--accent-success:#10b981;--accent-warning:#f59e0b;--accent-error:#ef4444;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--blur:16px;--shadow-lg:0 10px 30px -10px #00000080;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);height:100dvh;min-height:480px;overflow:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(var(--blur));border:1px solid var(--border-glass);box-shadow:var(--shadow-lg)}.app-container{background:radial-gradient(circle at 10% 20%, #6366f126 0%, transparent 40%), radial-gradient(circle at 90% 80%, #a855f726 0%, transparent 40%), var(--bg-primary);width:100vw;height:100dvh;min-height:480px;display:flex}.admin-shell{background:radial-gradient(circle at 10% 20%, #6366f126 0%, transparent 40%), radial-gradient(circle at 90% 80%, #a855f726 0%, transparent 40%), var(--bg-primary);grid-template-columns:280px minmax(0,1fr);min-height:100dvh;display:grid}.admin-sidebar{border-top:0;border-bottom:0;border-left:0;border-radius:0;flex-direction:column;gap:18px;min-height:100dvh;padding:20px;display:flex}.admin-brand{border-bottom:1px solid var(--border-glass);align-items:center;gap:12px;padding-bottom:14px;display:flex}.admin-brand h2{font-size:1.05rem;line-height:1.2}.admin-brand span{color:var(--text-secondary);font-size:.82rem}.admin-subnav.vertical{flex-direction:column;align-items:stretch;padding:0;overflow:visible}.admin-subnav.vertical .admin-tab{justify-content:flex-start;width:100%}.admin-logout{justify-content:center;align-items:center;gap:8px;margin-top:auto;display:inline-flex}.admin-main{flex-direction:column;gap:18px;min-width:0;padding:24px;display:flex}.admin-page-header{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.admin-page-header h1{font-size:1.35rem}.admin-page-header p{color:var(--text-secondary);font-size:.9rem}.admin-chat-link{white-space:nowrap;width:auto;margin:0;text-decoration:none}.admin-logs-section{flex-direction:column;min-height:0;display:flex}.auth-wrapper{background:radial-gradient(circle at 50% 50%, #6366f133 0%, transparent 60%), var(--bg-primary);justify-content:center;align-items:center;width:100%;height:100dvh;display:flex}.auth-card{border-radius:var(--radius-lg);text-align:center;width:100%;max-width:420px;padding:40px;animation:.5s ease-out slideUp}.auth-logo{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:2.5rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem}.form-group{text-align:left;margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.input-field{border:1px solid var(--border-glass);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);background:#ffffff0d;padding:12px 16px;font-size:1rem;transition:all .3s}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--border-focus);background:#ffffff14;outline:none}.btn-primary{background:var(--accent-gradient);border-radius:var(--radius-md);color:#fff;width:100%;font-family:var(--font-family);cursor:pointer;border:none;margin-top:10px;padding:14px;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-primary:active{transform:translateY(0)}.auth-switch{color:var(--text-secondary);margin-top:24px;font-size:.9rem}.auth-switch span{color:var(--accent-primary);cursor:pointer;font-weight:600;transition:color .3s}.auth-switch span:hover{color:var(--accent-secondary)}.error-message{color:var(--accent-error);text-align:left;margin-top:8px;font-size:.85rem}.session-notice{color:var(--accent-error);border-radius:var(--radius-sm);text-align:left;background:#ef44441f;border:1px solid #ef44444d;margin-bottom:18px;padding:10px 14px;font-size:.85rem;line-height:1.4}.sidebar{border-right:1px solid var(--border-glass);width:320px;height:100%;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:relative;overflow-y:auto}.chat-area{background:#0b0f1966;flex-direction:column;flex:1;height:100%;display:flex}.sidebar-header{border-bottom:1px solid var(--border-glass);align-items:center;gap:12px;padding:16px;display:flex}.search-container{position:relative}.search-input{border:1px solid var(--border-glass);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);background:#ffffff0d;padding:8px 12px 8px 32px;font-size:.85rem;transition:all .3s}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--border-focus);background:#ffffff14;outline:none}.search-container:before{content:"";opacity:.6;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.user-profile{align-items:center;gap:12px;display:flex}.avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:600;display:flex}.profile-info{flex-direction:column;display:flex}.profile-name{font-size:.95rem;font-weight:600}.profile-status{color:var(--accent-success);font-size:.75rem}.btn-icon{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .3s;display:flex}.btn-icon:hover{color:var(--text-primary);background:#ffffff0d}.tabs{border-bottom:1px solid var(--border-glass);gap:8px;padding:8px 16px;display:flex}.tab{border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:.9rem;font-weight:500;transition:all .3s}.tab.active{color:var(--text-primary);background:#ffffff0d;font-weight:600}.pwa-install-banner,.offline-cache-banner{border-radius:var(--radius-md);border:1px solid var(--border-glass);background:#ffffff09;margin:0 16px 10px}.pwa-install-banner{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:10px;padding:10px;display:grid}.pwa-install-banner.ready{background:#6366f11c;border-color:#6366f159}.pwa-install-banner.installed{background:#22c55e17;border-color:#22c55e52}.pwa-install-banner.ios,.pwa-install-banner.unsupported{border-color:#94a3b833}.pwa-install-icon{width:30px;height:30px;color:var(--text-primary);background:#ffffff12;border-radius:8px;justify-content:center;align-items:center;display:flex}.pwa-install-copy{min-width:0}.pwa-install-title{color:var(--text-primary);font-size:.78rem;font-weight:700;line-height:1.2}.pwa-install-subtitle{color:var(--text-muted);margin-top:2px;font-size:.7rem;line-height:1.25}.pwa-install-action{color:#fff;background:var(--accent-gradient);cursor:pointer;border:0;border-radius:8px;padding:7px 9px;font-size:.72rem;font-weight:700}.offline-cache-banner{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2447;align-items:center;gap:8px;padding:9px 10px;font-size:.75rem;line-height:1.25;display:flex}.chat-list{padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.chat-item{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.chat-item:hover{border-color:var(--border-glass);background:#ffffff08}.chat-item.active{background:var(--bg-glass-active);border-color:#6366f14d}.chat-item-avatar{width:44px;height:44px;color:var(--text-secondary);border:1px solid var(--border-glass);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;font-weight:500;display:flex}.chat-item-avatar.group{color:var(--accent-secondary);background:linear-gradient(135deg,#6366f133 0%,#a855f733 100%)}.chat-item-details{flex-direction:column;flex:1;gap:4px;display:flex}.chat-item-name{font-size:.95rem;font-weight:500}.chat-item-lastmsg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.8rem;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-glass);z-index:20;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:relative}.chat-header-info{align-items:center;gap:12px;display:flex}.messages-container{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.messages-loading-more{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:.85rem;display:flex}.messages-loading-spinner{border:2px solid var(--text-muted);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite messagesSpin}@keyframes messagesSpin{to{transform:rotate(360deg)}}.message-row{width:100%;display:flex}.message-row.sent{justify-content:flex-end}.message-row.received{justify-content:flex-start}.message-bubble{border-radius:var(--radius-md);max-width:65%;padding:10px 14px 8px;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn;position:relative;box-shadow:0 2px 10px #0003}.message-bubble.has-reactions{min-width:140px}.message-row.sent .message-bubble{background:var(--accent-gradient);color:#fff;border-bottom-right-radius:4px}.message-row.received .message-bubble{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-glass);border-bottom-left-radius:4px}.message-sender{color:var(--accent-secondary);margin-bottom:4px;font-size:.75rem;font-weight:600}.message-content{font-size:inherit;word-break:break-word;line-height:1.4}.message-time{color:#fff9;text-align:right;margin-top:4px;font-size:.7rem;display:block}.message-row.received .message-time{color:var(--text-muted)}.chat-input-area{border-top:1px solid var(--border-glass);align-items:center;gap:12px;padding:20px 24px;display:flex}.input-container{flex:1;position:relative}.chat-input{border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-family:var(--font-family);background:#ffffff08;padding:14px 20px;font-size:.95rem;transition:all .3s}.chat-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--border-focus);background:#ffffff0f;outline:none}.btn-send{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;box-shadow:0 4px 10px #6366f133}.btn-send:hover{transform:scale(1.05);box-shadow:0 6px 15px #6366f166}.btn-send:active{transform:scale(.95)}.welcome-screen{color:var(--text-secondary);text-align:center;background:radial-gradient(circle,#6366f114 0%,#a855f70d 50%,#0000 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex;position:relative;overflow:hidden}.welcome-screen:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff05 1px,#0000 1px);background-size:24px 24px;width:140%;height:140%;position:absolute;top:-20%;left:-20%;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 70%);mask-image:radial-gradient(circle,#000 30%,#0000 70%)}.welcome-card{border-radius:var(--radius-lg);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(8px);max-width:440px;box-shadow:var(--shadow-lg);background:#131a2c66;flex-direction:column;align-items:center;gap:16px;padding:40px;animation:.8s ease-out welcomeFadeIn;display:flex}.welcome-icon-wrapper{background:linear-gradient(135deg,#6366f11a 0%,#a855f71a 100%);border:1px solid #6366f133;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:8px;animation:6s ease-in-out infinite floatIcon;display:flex}.welcome-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:700}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:460px;padding:32px;animation:.3s cubic-bezier(.175,.885,.32,1.275) slideUp}.modal-title{margin-bottom:24px;font-size:1.5rem;font-weight:600}.identity-warning-modal{text-align:left;max-width:500px}.identity-warning-text,.identity-warning-help{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.identity-warning-help{margin-top:16px}.identity-fingerprint-box{border-radius:var(--radius-md);background:#f59e0b0f;border:1px solid #f59e0b38;flex-direction:column;gap:10px;margin-top:18px;padding:14px;display:flex}.identity-fingerprint-box div{flex-direction:column;gap:5px;display:flex}.identity-fingerprint-box span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.identity-fingerprint-box code{color:var(--text-primary);word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.4}.user-selector-list{flex-direction:column;gap:8px;max-height:200px;margin-bottom:24px;display:flex;overflow-y:auto}.user-selector-item{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:10px;transition:background .2s;display:flex}.user-selector-item:hover{background:#ffffff0d}.user-selector-item.selected{background:#6366f11a;border-color:#6366f14d}.checkbox{border:2px solid var(--text-muted);border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.user-selector-item.selected .checkbox{background:var(--accent-primary);border-color:var(--accent-primary)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.btn-secondary{border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);cursor:pointer;background:0 0;padding:12px 20px;font-weight:600;transition:all .3s}.btn-secondary:hover{background:#ffffff0d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.admin-panel{flex-direction:column;height:100%;display:flex}.admin-content{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.stat-card{border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-glass);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;font-size:.85rem;font-weight:500}.stat-value{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:700}.admin-section{flex-direction:column;gap:12px;display:flex}.section-title{color:var(--text-primary);margin-bottom:4px;font-size:1.05rem;font-weight:600}.table-container{border-radius:var(--radius-md);border:1px solid var(--border-glass);overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border-glass);padding:14px 18px}.admin-table th{color:var(--text-secondary);background:#ffffff05;font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover{background:#ffffff03}.badge{border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.badge-admin{color:var(--accent-secondary);background:#a855f726;border:1px solid #a855f74d}.badge-user{color:var(--accent-primary);background:#6366f126;border:1px solid #6366f14d}.log-console{border-radius:var(--radius-md);border:1px solid #ffffff0d;flex-direction:column;gap:6px;height:250px;padding:16px;font-family:Courier New,Courier,monospace;font-size:.8rem;line-height:1.5;display:flex;overflow-y:auto;background:#05070c!important}.log-line{word-break:break-all;white-space:pre-wrap}.log-empty{color:var(--text-muted);text-align:center;padding-top:40px}.log-info{color:#94a3b8}.log-error{color:#f87171}.log-success{color:#34d399}.log-ws{color:#60a5fa}.admin-subnav{border-bottom:1px solid var(--border-glass);flex-wrap:wrap;gap:4px;padding:12px 24px 0;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.admin-loading,.admin-empty{color:var(--text-muted);text-align:center;padding:32px;font-size:.9rem}.bar-row{grid-template-columns:140px 1fr auto;align-items:center;gap:12px;padding:4px 0;display:grid}.bar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.bar-track{background:#ffffff0d;border-radius:6px;height:10px;overflow:hidden}.bar-fill{background:var(--accent-gradient);border-radius:6px;height:100%;transition:width .4s}.bar-value{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.limits-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.limits-form .form-group{margin:0}.limits-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.limits-saved{color:#34d399;font-size:.85rem}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.icon-action{border-radius:var(--radius-sm);border:1px solid var(--border-glass);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-action:hover{color:var(--text-primary);background:#ffffff14}.icon-action:disabled{opacity:.4;cursor:not-allowed}.icon-action.danger:hover{color:var(--accent-error);border-color:var(--accent-error)}.row-blocked{opacity:.55}.badge-blocked{color:var(--accent-error);background:#ef444426;border:1px solid #ef44444d}.online-dot{background:#34d399;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.delete-warning{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem;line-height:1.5}.btn-back-mobile{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;margin-right:8px;padding:8px;transition:all .3s;display:none}.btn-back-mobile:hover{color:var(--text-primary);background:#ffffff0d}.message-time-wrapper{flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;display:flex}.message-status-ticks{align-items:center;display:inline-flex}.tick-icon{color:#fffc;width:14px;height:14px}.tick-icon.read{color:#00f0ff!important}.auto-delete-menu{position:relative}.auto-delete-btn{border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;font-family:var(--font-family);cursor:pointer;background:#ffffff08;align-items:center;gap:6px;padding:6px 12px;transition:all .3s;display:flex}.auto-delete-btn:hover,.auto-delete-btn.active{color:var(--text-primary);border-color:var(--text-secondary);background:#ffffff0f}.auto-delete-btn:disabled{cursor:default;opacity:.7}.auto-delete-btn:disabled:hover{color:var(--text-secondary);border-color:var(--border-glass);background:#ffffff08}.auto-delete-dropdown{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-md);z-index:100;min-width:180px;box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;margin-top:8px;padding:8px;animation:.2s ease-out slideUp;display:flex;position:absolute;top:100%;right:0}.auto-delete-option{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;font-size:.85rem;font-family:var(--font-family);background:0 0;border:none;padding:8px 12px;transition:all .2s}.auto-delete-option:hover{color:var(--text-primary);background:#ffffff0d}.auto-delete-option.selected{color:var(--accent-primary);background:#6366f126;font-weight:600}.message-bubble-wrapper{align-items:center;gap:8px;max-width:70%;display:flex;position:relative}.message-row.sent .message-bubble-wrapper{flex-direction:row-reverse}.message-row.sent .message-bubble,.message-row.received .message-bubble{max-width:100%}.message-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex}.message-bubble-wrapper:hover .message-actions{opacity:1}.btn-msg-action{border:1px solid var(--border-glass);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-msg-action:hover{color:var(--text-primary);background:#ffffff1a;transform:scale(1.05)}.message-edited-tag{color:#ffffff80;margin-right:4px;font-size:.65rem;font-style:italic}.message-row.received .message-edited-tag{color:var(--text-muted)}@media (width<=768px){.app-container{flex-direction:column;height:100dvh}.sidebar{height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);border-right:none!important;width:100%!important;display:flex!important}.chat-area{height:100dvh;width:100%!important;display:none!important}.app-container.chat-active .sidebar{display:none!important}.app-container.chat-active .chat-area{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);display:flex!important}.btn-back-mobile{display:flex!important}.message-bubble-wrapper{max-width:85%}.message-bubble{padding:7px 10px 5px}.message-content{font-size:inherit}.message-actions{opacity:.5}.chat-header{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top,0px))}.chat-input-area{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom,0px));gap:8px}.chat-input{padding:10px 16px;font-size:.9rem}.btn-send{width:40px;height:40px}.fab-container{bottom:calc(24px + env(safe-area-inset-bottom,0px))}.sidebar-version{bottom:calc(6px + env(safe-area-inset-bottom,0px))}}.settings-panel{flex-direction:column;height:100%;display:flex}.settings-content{border-radius:var(--radius-lg);flex:1;align-self:center;width:calc(100% - 48px);max-width:600px;margin:24px;padding:32px;overflow-y:auto}.settings-form{flex-direction:column;gap:20px;display:flex}.settings-avatar-section{flex-direction:column;align-items:center;gap:12px;margin-bottom:12px;display:flex}.settings-avatar-preview-container{border:2px solid var(--border-glass);width:120px;height:120px;box-shadow:var(--shadow-lg);background:var(--accent-gradient);border-radius:50%;position:relative}.settings-avatar-preview{object-fit:cover;border-radius:50%;width:100%;height:100%}.settings-avatar-placeholder{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;font-weight:700;display:flex}.avatar-upload-label{background:var(--accent-primary);border:2px solid var(--bg-secondary);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex;position:absolute;bottom:0;right:0}.avatar-upload-label:hover{background:var(--accent-secondary);transform:scale(1.1)}.settings-avatar-hint{color:var(--text-muted);text-align:center;max-width:320px;font-size:.75rem}.settings-msg{margin-top:-8px;font-size:.85rem;font-weight:500}.settings-msg.success{color:var(--accent-success)}.settings-msg.error{color:var(--accent-error)}.settings-actions{flex-direction:column;gap:12px;display:flex}.invitations-section{border-top:1px solid var(--border-glass);margin-top:24px;padding-top:20px}.invitations-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.invitations-header h4{color:var(--text-primary);margin:0 0 4px;font-size:1rem;font-weight:600}.invitations-header p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.35}.invitations-list{flex-direction:column;gap:8px;max-height:360px;padding-right:4px;display:flex;overflow-y:auto}.invitations-empty{border:1px solid var(--border-glass);color:var(--text-muted);background:#ffffff08;border-radius:8px;padding:12px;font-size:.9rem}.invitation-row{border:1px solid var(--border-glass);background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.invitation-main{flex-direction:column;gap:4px;min-width:0;display:flex}.invitation-main strong{color:var(--text-primary);overflow-wrap:anywhere}.invitation-main span{color:var(--text-muted);font-size:.82rem}.invitation-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.invitation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn-secondary.compact,.btn-primary.compact{width:auto;min-height:32px;margin-top:0;padding:6px 10px;font-size:.82rem}.compact-icon{flex:0 0 32px;width:32px;height:32px}.invite-status{border-radius:999px;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.invite-status-active{color:#86efac;background:#22c55e24}.invite-status-used{color:#93c5fd;background:#3b82f624}.invite-status-revoked,.invite-status-expired{color:#fca5a5;background:#ef444424}@media (width<=640px){.invitations-header,.invitation-row{flex-direction:column;align-items:stretch}.invitation-side{align-items:flex-start}.invitation-actions{justify-content:flex-start}}.btn-logout{border-radius:var(--radius-md);width:100%;color:var(--accent-error);font-family:var(--font-family);cursor:pointer;background:#ef44441a;border:1px solid #ef444433;justify-content:center;align-items:center;padding:14px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.btn-logout:hover{background:#ef444433;box-shadow:0 4px 15px #ef44441a}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-initials{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-weight:600;display:flex}.online-badge{background:var(--accent-success);border:2px solid var(--bg-secondary);width:12px;height:12px;box-shadow:0 0 0 1px var(--border-glass);border-radius:50%;position:absolute;bottom:-2px;right:-2px}.unread-badge{background:var(--accent-gradient);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-right:6px;padding:0 5px;font-size:.72rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #6366f166}.empty-messages-placeholder{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;animation:.4s ease-out fadeIn;display:flex}.empty-emoji{font-size:3.5rem;animation:3s ease-in-out infinite levitate;display:inline-block}.empty-text{color:var(--text-primary);font-size:1.1rem;font-weight:500}.empty-subtext{color:var(--text-muted);max-width:280px;font-size:.9rem}@keyframes welcomeFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes floatIcon{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(3deg)}}@keyframes levitate{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fab-container{z-index:100;position:absolute;bottom:24px;right:24px}.fab-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 20px #6366f166}.fab-btn:hover{transform:scale(1.1)translateY(-2px);box-shadow:0 6px 24px #6366f199}.fab-btn:active{transform:scale(.95)}.fab-menu{border-radius:var(--radius-md);flex-direction:column;gap:4px;width:190px;padding:6px;animation:.25s cubic-bezier(.175,.885,.32,1.275) slideUpFade;display:flex;position:absolute;bottom:64px;right:0}.fab-menu-item{color:var(--text-primary);font-family:var(--font-family);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;width:100%;padding:10px 12px;font-size:.85rem;transition:background .2s;display:flex}.fab-menu-item:hover{color:var(--accent-primary);background:#ffffff0d}.modal-search-input{border:1px solid var(--border-glass);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);background:#ffffff0d;padding:10px 14px;font-size:.9rem;transition:all .3s}.modal-search-input:focus{border-color:var(--accent-primary);background:#ffffff14;outline:none}.member-select-item{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:8px 12px;transition:all .2s;display:flex}.member-select-item:hover{border-color:var(--border-glass);background:#ffffff08}.member-select-item.selected{background:#6366f10d;border-color:#6366f133}.member-avatar-wrapper{width:40px;height:40px;position:relative}.member-avatar{border:2px solid #0000;border-radius:50%;width:100%;height:100%;transition:all .2s;overflow:hidden}.member-avatar-wrapper.selected .member-avatar{border-color:var(--accent-primary);transform:scale(.95);box-shadow:0 0 10px #6366f166}.member-checkmark{background:var(--accent-primary);border:1.5px solid var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;animation:.2s cubic-bezier(.175,.885,.32,1.275) checkPop;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 5px #0000004d}.member-info{text-align:left;flex-direction:column;gap:2px;display:flex}.member-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.member-email{color:var(--text-muted);font-size:.75rem}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes checkPop{0%{transform:scale(0)}to{transform:scale(1)}}.role-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;margin-left:auto;padding:4px 10px;font-size:.72rem;font-weight:600}.role-badge.admin{color:var(--accent-secondary);background:#a855f71f;border:1px solid #a855f740;box-shadow:0 0 8px #a855f71a}.role-badge.member{color:var(--text-secondary);border:1px solid var(--border-glass);background:#ffffff0a}.btn-toggle-admin{border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-family:var(--font-family);cursor:pointer;background:#ffffff08;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;transition:all .2s;display:flex}.btn-toggle-admin:hover{border-color:var(--text-secondary);color:var(--text-primary);background:#ffffff14}.btn-toggle-admin.active{color:#d8b4fe;background:#a855f726;border-color:#a855f766;box-shadow:0 0 10px #a855f733}.cursor-default{cursor:default!important}.btn-danger{border-radius:var(--radius-md);color:var(--accent-error);font-family:var(--font-family);cursor:pointer;background:#ef44441a;border:1px solid #ef444433;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:600;transition:all .3s;display:flex}.btn-danger:hover{background:#ef444433;transform:translateY(-1px);box-shadow:0 4px 15px #ef44441a}.btn-danger:active{transform:translateY(0)}.reaction-badge{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;margin-top:6px;margin-right:4px;padding:2px 6px;font-family:inherit;font-size:.8rem;transition:all .2s;display:inline-flex}.reaction-badge:hover{background:#ffffff1a;border-color:#fff3}.reaction-badge.active{background:#6366f126;border-color:#6366f166}.reaction-emoji{margin-right:4px}.reaction-avatars{align-items:center;margin-right:4px;display:flex}.reaction-avatar-mini{border:1px solid var(--bg-primary);background:var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:-4px;display:flex;overflow:hidden}.reaction-avatar-mini:first-child{margin-left:0}.mini-avatar-img{object-fit:cover;width:100%;height:100%}.mini-avatar-initials{color:var(--text-primary);font-size:8px;font-weight:700;line-height:12px}.reaction-count{color:var(--text-secondary);margin-left:2px;font-size:.75rem;font-weight:500}.reaction-picker-popover{border:1px solid var(--border-glass);z-index:100;border-radius:20px;gap:8px;padding:6px 10px;animation:.15s ease-out slideUp;display:flex;position:absolute;bottom:100%;box-shadow:0 4px 20px #0006;background:#111827f2!important}.reaction-picker-popover.left-aligned{left:0}.reaction-picker-popover.right-aligned{right:0}.reaction-picker-emoji{cursor:pointer;background:0 0;border:none;padding:2px;font-size:1.25rem;transition:transform .1s}.reaction-picker-emoji:hover{transform:scale(1.3)}.reply-quote{border-left:3px solid var(--accent-primary);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0d;border-radius:4px;max-width:100%;margin-bottom:6px;padding:4px 8px;font-size:.85rem;overflow:hidden}.reply-quote-sender{color:var(--accent-primary);margin-bottom:2px;font-weight:700}.reply-quote-content{color:var(--text-muted);text-overflow:ellipsis;font-size:.8rem;overflow:hidden}@keyframes flash-highlight-animation{0%{background:#6366f166}to{background:0 0}}.flash-highlight{animation:1.5s ease-out flash-highlight-animation}.empty-contacts-hint{pointer-events:none;z-index:90;width:240px;height:145px;animation:.8s ease-out hintFadeIn;position:absolute;bottom:80px;right:10px}.dialogues-no-results{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:.9rem}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(15px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.handwritten-text-chalk{fill:var(--accent-secondary);text-shadow:0 0 8px #06b6d466;font-family:Caveat,Comic Sans MS,cursive;font-size:21px}.chalk-line-arrow{stroke:var(--accent-secondary);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.85;filter:drop-shadow(0 0 4px #06b6d44d)}.chalk-line-arrow-sub{stroke:var(--accent-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.65;filter:drop-shadow(0 0 4px #a855f74d)}.toast-notification{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);color:var(--text-primary);z-index:3000;pointer-events:none;box-shadow:var(--shadow-lg);border-radius:20px;padding:8px 18px;font-size:.85rem;font-weight:500;animation:.25s ease-out toastFadeInUp;position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#0f0f0fd9!important}@keyframes toastFadeInUp{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}.message-context-menu{-webkit-backdrop-filter:blur(25px);border:1px solid var(--border-glass);border-radius:var(--radius-md);z-index:2500;transform-origin:0 0;width:280px;padding:8px;transition:width .2s,top .2s,left .2s;animation:.15s cubic-bezier(.34,1.56,.64,1) contextMenuScaleIn;position:fixed;box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff0d;background:#141414e0!important}.message-context-menu.extended{width:340px}@keyframes contextMenuScaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.menu-reactions-row{justify-content:space-between;align-items:center;gap:4px;padding:2px 4px;display:flex}.menu-reaction-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;font-size:1.25rem;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s;display:flex}.menu-reaction-emoji-btn:hover{background:#ffffff14;transform:scale(1.25)}.menu-reaction-expand-btn{color:#8c9cb3;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background-color .2s,border-color .2s,color .2s,transform .25s cubic-bezier(.4,0,.2,1);display:flex}.menu-reaction-expand-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff4d;transform:scale(1.08)}.menu-reaction-expand-btn.active{color:#fff;background:#ffffff1f;border-color:#ffffff59;transform:rotate(180deg)}.menu-reaction-expand-btn.active:hover{transform:rotate(180deg)scale(1.08)}.menu-reaction-expand-arrow{transition:fill .2s;display:block}.menu-reactions-extended{border-top:1px solid #ffffff14;grid-template-columns:repeat(8,1fr);gap:6px;max-height:280px;margin-top:6px;padding:8px 4px 2px;animation:.2s ease-out slideDownFade;display:grid;overflow-y:auto}.menu-reactions-extended::-webkit-scrollbar{width:4px}.menu-reactions-extended::-webkit-scrollbar-track{background:0 0}.menu-reactions-extended::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.menu-reactions-extended::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.menu-separator{background:#ffffff0f;height:1px;margin:6px 0}.menu-actions-list{flex-direction:column;gap:2px;display:flex}.menu-action-item{color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;display:flex}.menu-action-item:hover{color:var(--text-primary);background:#ffffff0d}.menu-action-item.danger{color:var(--accent-error)}.menu-action-item.danger:hover{color:#f87171;background:#ef44441a}.message-reply-preview{border-left:3px solid var(--accent-secondary);cursor:pointer;background:#ffffff0f;border-radius:4px;max-width:100%;margin-bottom:6px;padding:4px 10px;transition:background .2s;overflow:hidden}.message-reply-preview:hover{background:#ffffff1f}.reply-preview-sender{color:var(--accent-secondary);margin-bottom:2px;font-size:.75rem;font-weight:700}.reply-preview-content{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.message-row.sent .message-reply-preview{background:#00000038;border-left-color:#ffffffd9}.message-row.sent .message-reply-preview:hover{background:#00000059}.message-row.sent .reply-preview-sender{color:#fff;text-shadow:0 1px 2px #0003}.message-row.sent .reply-preview-content{color:#ffffffe0}@keyframes highlightMessageBubble{0%{background:#a855f766;box-shadow:0 0 20px #a855f766}to{background:inherit;box-shadow:none}}.message-row-highlight .message-bubble{animation:1.5s ease-out highlightMessageBubble}.message-bubble-footer{justify-content:space-between;align-items:flex-end;gap:12px;width:100%;margin-top:6px;display:flex}.message-reactions-list{flex-wrap:wrap;gap:4px;margin:0;display:flex}.message-reaction-pill{cursor:pointer;color:#fff;background:#00000073;border:1px solid #ffffff47;border-radius:14px;align-items:center;gap:6px;padding:3px 8px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 3px #0003}.message-reaction-pill:hover{background:#000000a6;border-color:#ffffff73;transform:translateY(-1px)}.message-reaction-pill.my-reaction{color:#fff;background:#6366f159;border-color:#6366f1d9}.message-reaction-pill.my-reaction:hover{background:#6366f173;border-color:#fff}.message-row.sent .message-reaction-pill{background:#0000008c;border-color:#ffffff61}.message-row.sent .message-reaction-pill:hover{background:#000000bf;border-color:#fff9}.message-row.sent .message-reaction-pill.my-reaction{color:#fff;background:#ffffff47;border-color:#ffffffe6}.message-row.sent .message-reaction-pill.my-reaction:hover{background:#ffffff61;border-color:#fff}.reaction-pill-emoji{font-size:.9rem}.reaction-pill-avatars{align-items:center;padding-left:2px;display:flex}.reaction-pill-avatar-wrapper{background:#111;border:1.5px solid #000;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:-6px;transition:transform .15s;display:flex;overflow:hidden}.reaction-pill-avatar-wrapper:first-child{margin-left:0}.message-reaction-pill:hover .reaction-pill-avatar-wrapper{transform:scale(1.1)}.reaction-pill-avatar-img{object-fit:cover;width:100%;height:100%}.reaction-pill-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);justify-content:center;align-items:center;width:100%;height:100%;font-size:8px;font-weight:700;display:flex}.reaction-pill-count{margin-left:1px;font-size:.72rem;font-weight:700}.delete-message-modal{text-align:left;max-width:400px!important;padding:24px 28px!important}.delete-title{color:var(--accent-error);align-items:center;gap:10px;display:flex;margin-bottom:12px!important;font-size:1.3rem!important}.delete-icon{flex-shrink:0}.delete-confirm-text{color:var(--text-secondary);margin-bottom:20px;font-size:.95rem;line-height:1.5}.delete-option-container{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0f;margin-bottom:24px;padding:14px 16px;transition:border-color .2s}.delete-option-container:hover{border-color:#ffffff1a}.custom-checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);align-items:center;gap:12px;width:100%;font-size:.95rem;display:flex;position:relative}.custom-checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkbox-checkmark{background-color:#ffffff0a;border:1px solid #ffffff2e;border-radius:6px;flex-shrink:0;width:20px;height:20px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.custom-checkbox-container:hover input~.checkbox-checkmark{background-color:#ffffff14;border-color:#ffffff47}.custom-checkbox-container input:checked~.checkbox-checkmark{background-color:var(--accent-error);border-color:var(--accent-error);box-shadow:0 0 8px #ef444459}.checkbox-checkmark:after{content:"";display:none;position:absolute}.custom-checkbox-container input:checked~.checkbox-checkmark:after{display:block}.custom-checkbox-container .checkbox-checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;top:2px;left:6px;transform:rotate(45deg)}.checkbox-label{flex:1;line-height:1.4}.delete-option-info{border-radius:var(--radius-md);color:#fca3a3;background:#ef44440f;border:1px solid #ef444426;margin-bottom:24px;padding:12px 16px;font-size:.9rem;line-height:1.4}.delete-actions{margin-top:0!important}.sidebar-version{color:var(--text-muted);opacity:.35;pointer-events:none;font-family:monospace;font-size:.72rem;position:absolute;bottom:6px;left:8px}.input-preview-bar{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0d;align-items:center;gap:12px;padding:10px 16px;animation:.2s ease-out slideDownFade;display:flex;position:relative;overflow:hidden}.preview-left-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.edit-preview .preview-left-icon{color:var(--accent-primary)}.reply-preview .preview-left-icon{color:var(--accent-secondary)}.preview-content{border-left:2px solid #0000;flex-direction:column;flex:1;gap:2px;padding-left:12px;display:flex;overflow:hidden}.edit-preview .preview-content{border-left-color:var(--accent-primary)}.reply-preview .preview-content{border-left-color:var(--accent-secondary)}.preview-title{text-transform:none;letter-spacing:.2px;font-size:.8rem;font-weight:700}.edit-preview .preview-title{color:var(--accent-primary)}.reply-preview .preview-title{color:var(--accent-secondary)}.preview-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.btn-cancel-preview{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.btn-cancel-preview:hover{color:var(--accent-error);background:#ffffff14;transform:scale(1.05)}.chat-badge-container{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;margin:10px 0;display:flex}.chat-badge-pill{color:#fff;-webkit-backdrop-filter:blur(4px);text-align:center;background:#5c955cd9;border-radius:20px;padding:6px 18px;font-size:.85rem;font-weight:500;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 2px 8px #0000004d}.chat-badge-pill.unread{background:#5c955cd9}.safety-badge-container{justify-content:center;align-items:center;display:flex;position:relative}.safety-emojis-badge{background:var(--bg-glass);-webkit-backdrop-filter:blur(var(--blur));border:1px solid var(--border-glass);cursor:pointer;letter-spacing:2px;box-shadow:var(--shadow-sm);color:var(--text-main);border-radius:50px;align-items:center;gap:8px;padding:6px 16px;font-size:1.1rem;transition:all .2s;display:flex}.safety-emojis-badge:hover{background:#ffffff1a;border-color:#fff3;transform:scale(1.03)}.safety-emojis-badge:active{transform:scale(.97)}.safety-popover{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);z-index:100;text-align:center;background:#0f172ae6;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:320px;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) forwards safetyFadeIn;display:flex;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}@keyframes safetyFadeIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.safety-popover-title{color:var(--accent-success,#10b981);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.safety-popover-emojis{letter-spacing:6px;background:#ffffff0a;border:1px solid #ffffff0d;border-radius:12px;margin:6px 0;padding:8px 16px;font-size:1.6rem}.safety-popover-text{color:var(--text-muted);font-size:.85rem;line-height:1.45}.safety-reverify-btn{border-radius:var(--radius-sm);color:#a7f3d0;cursor:pointer;background:#10b9811a;border:1px solid #10b98147;width:100%;padding:9px 12px;font-size:.85rem;font-weight:700;transition:background .2s,transform .2s,border-color .2s}.safety-reverify-btn:hover{background:#10b98129;border-color:#10b9816b;transform:translateY(-1px)}.safety-reverify-btn:active{transform:translateY(0)}:root{--svg-space:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E %3Cg stroke='rgba%2899,102,241,0.08%29' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3C!-- Rocket --%3E %3Cg transform='translate%2850, 40%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M12,2 C12,2 17,7 17,14 L17,22 L7,22 L7,14 C7,7 12,2 12,2 Z' stroke-width='1.5'/%3E %3Cpath d='M7,18 L3,22 L3,26 L7,24 Z' stroke-width='1.5'/%3E %3Cpath d='M17,18 L21,22 L21,26 L17,24 Z' stroke-width='1.5'/%3E %3Ccircle cx='12' cy='11' r='2' stroke-width='1.5'/%3E %3Cpath d='M10,26 L12,28 L14,26' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Saturn --%3E %3Cg transform='translate%28170, 50%29 rotate%28-25%29 scale%281.1%29'%3E %3Ccircle cx='15' cy='15' r='7' stroke-width='1.5'/%3E %3Cellipse cx='15' cy='15' rx='13' ry='3.5' transform='rotate%28-15 15 15%29' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Code brackets --%3E %3Cg transform='translate%28310, 45%29 rotate%2810%29 scale%280.9%29'%3E %3Cpath d='M7,8 L2,12 L7,16 M17,8 L22,12 L17,16 M14,5 L10,19' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Coffee Cup --%3E %3Cg transform='translate%2840, 150%29 rotate%28-15%29 scale%280.9%29'%3E %3Cpath d='M4,10 L16,10 L15,20 C15,22 9,22 9,22 L5,20 Z M16,12 C18,12 19,13 19,14.5 C19,16 18,17 16,17 M7,3 Q8,6 7,8 M10,3 Q11,6 10,8 M13,3 Q14,6 13,8' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Astronaut Helmet --%3E %3Cg transform='translate%28160, 160%29 rotate%2835%29 scale%280.85%29'%3E %3Ccircle cx='15' cy='15' r='10' stroke-width='1.5'/%3E %3Cpath d='M8,13 A5,5 0 0,1 22,13 L20,18 A5,5 0 0,1 10,18 Z' stroke-width='1.5'/%3E %3Crect x='13' y='25' width='4' height='3' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Floppy Disk --%3E %3Cg transform='translate%28290, 150%29 rotate%28-10%29 scale%280.85%29'%3E %3Cpath d='M4,4 L16,4 L20,8 L20,20 L4,20 Z M7,4 L7,9 L13,9 L13,4 Z M7,20 L7,14 L17,14 L17,20 Z' stroke-width='1.5'/%3E %3C/g%3E %3C!-- UFO --%3E %3Cg transform='translate%2870, 270%29 rotate%2820%29 scale%280.9%29'%3E %3Cellipse cx='15' cy='17' rx='11' ry='4' stroke-width='1.5'/%3E %3Cpath d='M8,15 C8,10 22,10 22,15 M11,21 L9,24 M19,21 L21,24 M15,21 L15,25' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Gear --%3E %3Cg transform='translate%28200, 280%29 rotate%28-30%29 scale%280.95%29'%3E %3Ccircle cx='12' cy='12' r='5' stroke-width='1.5'/%3E %3Cpath d='M12,2 L12,5 M12,19 L12,22 M2,12 L5,12 M19,12 L22,12 M5,5 L7,7 M17,17 L19,19 M5,19 L7,17 M17,7 L19,5' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Database --%3E %3Cg transform='translate%28310, 270%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M4,6 C4,3 20,3 20,6 C20,9 4,9 4,6 Z M4,6 L4,18 C4,21 20,21 20,18 L20,6 M4,12 C4,15 20,15 20,12' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Satellite --%3E %3Cg transform='translate%28180, 370%29 rotate%28-5%29 scale%280.8%29'%3E %3Crect x='10' y='8' width='4' height='8' stroke-width='1.5'/%3E %3Cpath d='M4,12 L10,12 M14,12 L20,12 M4,9 L4,15 M20,9 L20,15 M12,5 A1.5,1.5 0 1,0 12,8 M12,16 L12,21' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Fillers --%3E %3Cg transform='translate%28110, 45%29 rotate%2845%29 scale%280.6%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28250, 70%29 rotate%2812%29 scale%280.5%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28360, 100%29 rotate%2835%29 scale%280.7%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 180%29 rotate%28-15%29 scale%280.7%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28230, 160%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%2840, 370%29 rotate%2822%29 scale%280.65%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28280, 370%29 rotate%28-25%29 scale%280.55%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 320%29 rotate%28120%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28370, 340%29 rotate%2845%29 scale%280.8%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='80' cy='100' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='230' cy='20' r='1' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='360' cy='30' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='130' cy='120' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='200' cy='110' r='1' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='20' cy='220' r='1' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='250' cy='230' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='370' cy='210' r='1' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='140' cy='250' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='60' cy='320' r='1' fill='rgba%2899,102,241,0.08%29'/%3E %3Ccircle cx='250' cy='320' r='1.5' fill='rgba%2899,102,241,0.08%29'/%3E %3C/g%3E %3C/svg%3E");--svg-fashion:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E %3Cg stroke='rgba%28236,72,153,0.08%29' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3C!-- Lipstick --%3E %3Cg transform='translate%2850, 40%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M6,22 L14,22 L14,10 L6,10 Z M6,14 L14,14 M8,10 L8,4 L12,4 L12,10 M8,4 L12,6' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Diamond --%3E %3Cg transform='translate%28170, 50%29 rotate%28-15%29 scale%281.0%29'%3E %3Cpath d='M6,6 L14,6 L18,10 L10,18 L2,10 Z M6,6 L10,18 M14,6 L10,18 M2,10 L18,10' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Handbag --%3E %3Cg transform='translate%28310, 45%29 rotate%28-10%29 scale%280.9%29'%3E %3Cpath d='M4,10 L16,10 L18,20 L2,20 Z M8,10 C8,5 12,5 12,10' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Perfume --%3E %3Cg transform='translate%2840, 150%29 rotate%2820%29 scale%280.95%29'%3E %3Cpath d='M6,8 L14,8 L15,19 L5,19 Z M8,8 L8,4 L12,4 L12,8 M9,4 L11,4' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Sunglasses --%3E %3Cg transform='translate%28160, 160%29 rotate%28-5%29 scale%281.0%29'%3E %3Cpath d='M2,8 C4,4 9,4 9,8 C9,12 4,12 2,8 Z M11,8 C11,4 16,4 16,8 C16,12 11,12 11,8 Z M9,8 L11,8' stroke-width='1.5'/%3E %3C/g%3E %3C!-- High Heel Shoe --%3E %3Cg transform='translate%28290, 150%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M2,20 L6,20 C10,20 12,16 14,12 L19,6 L20,8 L16,13 L16,20 L18,20' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Mirror --%3E %3Cg transform='translate%2870, 270%29 rotate%28-25%29 scale%280.85%29'%3E %3Cellipse cx='10' cy='8' rx='6' ry='7' stroke-width='1.5'/%3E %3Cpath d='M10,15 L10,22 M7,22 L13,22' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Crown --%3E %3Cg transform='translate%28200, 280%29 rotate%2810%29 scale%280.9%29'%3E %3Cpath d='M2,18 L4,10 L8,14 L11,8 L14,14 L18,10 L20,18 Z M2,18 L20,18' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Hanger --%3E %3Cg transform='translate%28310, 270%29 rotate%28-15%29 scale%280.85%29'%3E %3Cpath d='M10,8 C10,6 12,6 12,8 L12,10 M2,18 L20,18 L11,10 Z' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Lips --%3E %3Cg transform='translate%28180, 370%29 rotate%285%29 scale%280.9%29'%3E %3Cpath d='M2,12 C4,9 8,9 10,11 C12,9 16,9 18,12 C16,15 12,16 10,14 C8,16 4,15 2,12 Z M2,12 C6,12 14,12 18,12' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Fillers --%3E %3Cg transform='translate%28110, 50%29 rotate%28-15%29 scale%280.7%29'%3E %3Cpath d='M12,5 C10,2 6,2 4,5 C2,8 5,12 12,17 C19,12 22,8 20,5 C18,2 14,2 12,5 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28250, 70%29 scale%280.55%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28360, 100%29 rotate%2830%29 scale%280.65%29'%3E %3Cpath d='M12,5 C10,2 6,2 4,5 C2,8 5,12 12,17 C19,12 22,8 20,5 C18,2 14,2 12,5 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 180%29 rotate%2845%29 scale%280.7%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28230, 160%29 scale%280.65%29'%3E %3Cpath d='M12,5 C10,2 6,2 4,5 C2,8 5,12 12,17 C19,12 22,8 20,5 C18,2 14,2 12,5 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%2840, 370%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28280, 370%29 rotate%28-45%29 scale%280.65%29'%3E %3Cpath d='M12,5 C10,2 6,2 4,5 C2,8 5,12 12,17 C19,12 22,8 20,5 C18,2 14,2 12,5 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 320%29 rotate%2815%29 scale%280.65%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28370, 340%29 rotate%28-10%29 scale%280.6%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='80' cy='100' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='230' cy='20' r='1' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='360' cy='30' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='130' cy='120' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='200' cy='110' r='1' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='20' cy='220' r='1' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='250' cy='230' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='370' cy='210' r='1' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='140' cy='250' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='60' cy='320' r='1' fill='rgba%28236,72,153,0.08%29'/%3E %3Ccircle cx='250' cy='320' r='1.5' fill='rgba%28236,72,153,0.08%29'/%3E %3C/g%3E %3C/svg%3E");--svg-nature:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E %3Cg stroke='rgba%2852,211,153,0.08%29' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3C!-- Leaf --%3E %3Cg transform='translate%2850, 40%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M2,18 C6,14 14,14 18,2 C14,6 14,14 2,18 Z M2,18 L10,10' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Mushroom --%3E %3Cg transform='translate%28170, 50%29 rotate%28-10%29 scale%280.95%29'%3E %3Cpath d='M4,13 C4,8 20,8 20,13 L4,13 Z M9,13 L9,22 C9,24 15,24 15,22 L15,13' stroke-width='1.5'/%3E %3Ccircle cx='8' cy='10' r='0.8' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='16' cy='11' r='0.8' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='12' cy='9' r='0.8' fill='rgba%2852,211,153,0.08%29'/%3E %3C/g%3E %3C!-- Daisy Flower --%3E %3Cg transform='translate%28310, 45%29 rotate%2845%29 scale%280.9%29'%3E %3Ccircle cx='12' cy='12' r='3' stroke-width='1.5'/%3E %3Cpath d='M12,2 L12,9 M12,15 L12,22 M2,12 L9,12 M15,12 L22,12 M5,5 L10,10 M14,14 L19,19 M5,19 L10,14 M14,10 L19,5' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Tree --%3E %3Cg transform='translate%2840, 150%29 rotate%28-15%29 scale%280.9%29'%3E %3Cpath d='M12,2 L4,10 L8,10 L2,16 L10,16 L5,22 L19,22 L14,16 L22,16 L16,10 L20,10 Z M12,22 L12,25' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Fluffy Smiley Cloud --%3E %3Cg transform='translate%28160, 160%29 rotate%285%29 scale%280.9%29'%3E %3Cpath d='M6,16 C4,16 2,14 2,12 C2,10 4,8 7,8 C8,5 12,4 15,6 C18,5 21,7 21,10 C23,10 24,12 24,14 C24,16 22,18 18,18 L6,18 Z' stroke-width='1.5'/%3E %3Ccircle cx='10' cy='11' r='0.7' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='14' cy='11' r='0.7' fill='rgba%2852,211,153,0.08%29'/%3E %3Cpath d='M11,13 Q12,14.5 13,13' stroke-width='1.0'/%3E %3C/g%3E %3C!-- Tulip Flower --%3E %3Cg transform='translate%28290, 150%29 rotate%2820%29 scale%280.95%29'%3E %3Cpath d='M6,6 C6,14 18,14 18,6 C18,6 15,10 12,6 C9,10 6,6 6,6 Z M12,13 L12,22 M8,18 C10,18 11,16 12,15' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Butterfly --%3E %3Cg transform='translate%2870, 270%29 rotate%28-25%29 scale%280.9%29'%3E %3Cpath d='M12,8 Q8,3 5,7 Q3,10 8,11 Q5,15 8,17 Q11,18 12,13 Q13,18 16,17 Q19,15 16,11 Q21,10 19,7 Q16,3 12,8 Z M12,5 L12,19 M10,5 Q9,2 7,3 M14,5 Q15,2 17,3' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Sun --%3E %3Cg transform='translate%28200, 280%29 rotate%2815%29 scale%280.95%29'%3E %3Ccircle cx='12' cy='12' r='6' stroke-width='1.5'/%3E %3Cpath d='M12,2 L12,4 M12,20 L12,22 M2,12 L4,12 M20,12 L22,12 M5,5 L6.5,6.5 M17.5,17.5 L19,19 M5,19 L6.5,17.5 M17.5,6.5 L19,5' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Ladybug --%3E %3Cg transform='translate%28310, 270%29 rotate%28-15%29 scale%280.85%29'%3E %3Ccircle cx='12' cy='13' r='7' stroke-width='1.5'/%3E %3Cpath d='M12,6 L12,20 M12,6 C10,3 14,3 12,6 Z' stroke-width='1.5'/%3E %3Ccircle cx='9' cy='10' r='0.6' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='15' cy='10' r='0.6' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='8' cy='15' r='0.6' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='16' cy='15' r='0.6' fill='rgba%2852,211,153,0.08%29'/%3E %3C/g%3E %3C!-- Acorn --%3E %3Cg transform='translate%28180, 370%29 rotate%285%29 scale%280.85%29'%3E %3Cpath d='M6,10 C6,18 18,18 18,10 Z M4,10 C4,8 20,8 20,10 L4,10 Z M12,8 L12,4' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Fillers --%3E %3Cg transform='translate%28110, 50%29 rotate%28-45%29 scale%280.65%29'%3E %3Cpath d='M2,18 C6,14 14,14 18,2 C14,6 14,14 2,18 Z M2,18 L10,10' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28250, 70%29 scale%280.55%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28360, 100%29 rotate%2860%29 scale%280.65%29'%3E %3Cpath d='M2,18 C6,14 14,14 18,2 C14,6 14,14 2,18 Z M2,18 L10,10' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 180%29 rotate%2825%29 scale%280.7%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28230, 160%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%2840, 370%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28280, 370%29 rotate%28-75%29 scale%280.6%29'%3E %3Cpath d='M2,18 C6,14 14,14 18,2 C14,6 14,14 2,18 Z M2,18 L10,10' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28110, 320%29 rotate%28-15%29 scale%280.65%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Cg transform='translate%28370, 340%29 scale%280.6%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='80' cy='100' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='230' cy='20' r='1' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='360' cy='30' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='130' cy='120' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='200' cy='110' r='1' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='20' cy='220' r='1' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='250' cy='230' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='370' cy='210' r='1' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='140' cy='250' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='60' cy='320' r='1' fill='rgba%2852,211,153,0.08%29'/%3E %3Ccircle cx='250' cy='320' r='1.5' fill='rgba%2852,211,153,0.08%29'/%3E %3C/g%3E %3C/svg%3E");--svg-underwater:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E %3Cg stroke='rgba%2856,189,248,0.08%29' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3C!-- Fish 1 --%3E %3Cg transform='translate%2850, 40%29 rotate%2815%29 scale%280.9%29'%3E %3Cpath d='M2,12 C4,8 14,8 18,12 C14,16 4,16 2,12 Z M18,12 L22,8 L20,12 L22,16 Z M8,7 C8,7 9,10 8,13 M12,7 C12,7 13,10 12,13' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Starfish --%3E %3Cg transform='translate%28170, 50%29 rotate%28-15%29 scale%280.95%29'%3E %3Cpath d='M12,2 L15,8 L21,9 L16,14 L18,20 L12,17 L6,20 L8,14 L3,9 L9,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Submarine --%3E %3Cg transform='translate%28310, 45%29 rotate%2810%29 scale%280.9%29'%3E %3Cpath d='M4,15 C4,10 18,10 20,15 C20,18 4,18 4,15 Z M10,11 L10,8 L13,8 M8,15 A1.5,1.5 0 1,0 8,12 A1.5,1.5 0 1,0 8,15 Z M15,15 A1.5,1.5 0 1,0 15,12 A1.5,1.5 0 1,0 15,15 Z' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Jellyfish --%3E %3Cg transform='translate%2840, 150%29 rotate%28-20%29 scale%280.9%29'%3E %3Cpath d='M4,12 C4,6 20,6 20,12 Z M4,12 L20,12 M6,12 Q6,18 7,22 M10,12 Q9,17 10,22 M14,12 Q15,17 14,22 M18,12 Q19,18 18,22' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Octopus --%3E %3Cg transform='translate%28160, 160%29 rotate%285%29 scale%280.85%29'%3E %3Cpath d='M6,10 C6,5 18,5 18,10 C18,13 6,13 6,10 Z M8,13 Q6,18 5,22 M10,13 Q10,18 9,22 M12,13 Q13,18 13,22 M14,13 Q16,18 17,22 M16,13 Q18,18 19,22' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Anchor --%3E %3Cg transform='translate%28290, 150%29 rotate%28-10%29 scale%280.9%29'%3E %3Cpath d='M12,5 A2,2 0 1,0 12,1 M12,5 L12,17 M6,13 L18,13 M6,15 C6,22 18,22 18,15 M4,15 L6,15 M20,15 L18,15' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Crab --%3E %3Cg transform='translate%2870, 270%29 rotate%2815%29 scale%280.9%29'%3E %3Cellipse cx='12' cy='14' rx='7' ry='5' stroke-width='1.5'/%3E %3Cpath d='M5,14 C2,14 2,18 3,20 M19,14 C22,14 22,18 21,20 M7,10 Q6,6 8,5 M17,10 Q18,6 16,5' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Seaweed --%3E %3Cg transform='translate%28200, 280%29 rotate%28-15%29 scale%280.95%29'%3E %3Cpath d='M10,22 Q7,15 11,8 T8,2 M14,22 Q17,16 13,10 T16,4' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Sea shell --%3E %3Cg transform='translate%28310, 270%29 rotate%2825%29 scale%280.85%29'%3E %3Cpath d='M6,18 C4,12 8,6 12,6 C16,6 20,12 18,18 Z M6,18 L18,18 M9,6 L10,18 M12,6 L12,18 M15,6 L14,18' stroke-width='1.5'/%3E %3C/g%3E %3C!-- Fish 2 --%3E %3Cg transform='translate%28180, 370%29 rotate%28-5%29 scale%280.9%29'%3E %3Cpath d='M2,12 C4,8 14,8 18,12 C14,16 4,16 2,12 Z M18,12 L22,8 L20,12 L22,16 Z' stroke-width='1.5'/%3E %3Ccircle cx='6' cy='11' r='0.6' fill='rgba%2856,189,248,0.08%29'/%3E %3C/g%3E %3C!-- Fillers --%3E %3Ccircle cx='110' cy='50' r='3.5' stroke-width='1.5'/%3E %3Ccircle cx='114' cy='42' r='2' stroke-width='1.5'/%3E %3Cg transform='translate%28250, 70%29 scale%280.55%29'%3E %3Cpath d='M10,2 L12,8 L18,10 L12,12 L10,18 L8,12 L2,10 L8,8 Z' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='360' cy='100' r='4' stroke-width='1.5'/%3E %3Ccircle cx='356' cy='92' r='2' stroke-width='1.5'/%3E %3Cg transform='translate%28110, 180%29 rotate%2845%29 scale%280.7%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='230' cy='160' r='3' stroke-width='1.5'/%3E %3Ccircle cx='226' cy='154' r='1.5' stroke-width='1.5'/%3E %3Cg transform='translate%2840, 370%29 scale%280.7%29'%3E %3Cpath d='M10,10 A5,5 0 0,1 15,15 A7,7 0 0,1 8,22 A9,9 0 0,1 0,13' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='280' cy='370' r='4' stroke-width='1.5'/%3E %3Cg transform='translate%28110, 320%29 rotate%28-25%29 scale%280.65%29'%3E %3Cpolygon points='10,0 13,7 20,7 15,11 17,18 10,14 3,18 5,11 0,7 7,7' stroke-width='1.5'/%3E %3C/g%3E %3Ccircle cx='370' cy='340' r='3' stroke-width='1.5'/%3E %3Ccircle cx='80' cy='100' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='230' cy='20' r='1' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='360' cy='30' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='130' cy='120' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='200' cy='110' r='1' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='20' cy='220' r='1' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='250' cy='230' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='370' cy='210' r='1' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='140' cy='250' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='60' cy='320' r='1' fill='rgba%2856,189,248,0.08%29'/%3E %3Ccircle cx='250' cy='320' r='1.5' fill='rgba%2856,189,248,0.08%29'/%3E %3C/g%3E %3C/svg%3E")}.messages-container.chat-bg-default{background:0 0}.messages-container.chat-bg-space{background-color:#0a0e17;background-image:var(--svg-space);background-repeat:repeat;background-size:250px 250px}.messages-container.chat-bg-fashion{background-color:#210f22;background-image:var(--svg-fashion);background-repeat:repeat;background-size:250px 250px}.messages-container.chat-bg-nature{background-color:#05251b;background-image:var(--svg-nature);background-repeat:repeat;background-size:250px 250px}.messages-container.chat-bg-underwater{background-color:#072235;background-image:var(--svg-underwater);background-repeat:repeat;background-size:250px 250px}.chat-bg-selectors{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.chat-bg-option{cursor:pointer;border:2px solid #0000;border-radius:50%;width:44px;height:44px;transition:all .2s;position:relative;box-shadow:0 2px 6px #0003}.chat-bg-option:hover{transform:scale(1.1)}.chat-bg-option.active{border-color:var(--accent-primary);transform:scale(1.05)}.chat-bg-option.active:after{content:"✓";color:#fff;text-shadow:0 1px 3px #0009;font-size:1.1rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chat-bg-option-default{background:radial-gradient(circle at 10% 20%,#6366f14d 0%,#0000 80%),radial-gradient(circle at 90% 80%,#a855f74d 0%,#0000 80%),#121824}.chat-bg-option-space{background-color:#0a0e17;background-image:var(--svg-space);background-repeat:repeat;background-size:100px 100px}.chat-bg-option-fashion{background-color:#210f22;background-image:var(--svg-fashion);background-repeat:repeat;background-size:100px 100px}.chat-bg-option-nature{background-color:#05251b;background-image:var(--svg-nature);background-repeat:repeat;background-size:100px 100px}.chat-bg-option-underwater{background-color:#072235;background-image:var(--svg-underwater);background-repeat:repeat;background-size:100px 100px}.pwa-update-prompt{-webkit-backdrop-filter:blur(20px);color:var(--text-primary);border-radius:var(--radius-md);z-index:3000;border:1px solid #6366f166;align-items:center;gap:16px;width:max-content;max-width:90vw;padding:12px 20px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards toastFadeInUp;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080;background:#131a2cf2!important}.pwa-update-actions{gap:8px;display:flex}.connection-overlay{z-index:9999;-webkit-backdrop-filter:blur(12px);background:#0b0f19b8;justify-content:center;align-items:center;animation:.3s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.connection-overlay-card{text-align:center;background:#131a2cd9;border:1px solid #ffffff17;border-radius:20px;width:88%;max-width:320px;padding:40px 36px;animation:.35s cubic-bezier(.175,.885,.32,1.275) overlayCardIn;box-shadow:0 16px 48px #00000080}@keyframes overlayCardIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.connection-overlay-icon{width:64px;height:64px;color:var(--accent-primary);background:#6366f11f;border:1px solid #6366f138;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.connection-overlay-icon.is-disconnected{color:var(--accent-error);background:#ef44441a;border-color:#ef444438}.connection-overlay-icon.is-connecting{animation:2s ease-in-out infinite iconPulse}@keyframes iconPulse{0%,to{box-shadow:0 0 #6366f159}50%{box-shadow:0 0 0 10px #6366f100}}.connection-overlay-title{color:var(--text-primary);margin-bottom:8px;font-size:1.05rem;font-weight:600}.connection-overlay-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:.85rem;line-height:1.55}.connection-dots{vertical-align:middle;gap:5px;margin-left:8px;display:inline-flex}.connection-dots span{background:var(--accent-primary);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dotBounce}.connection-dots span:nth-child(2){animation-delay:.2s}.connection-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.connection-overlay-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;font-family:var(--font-family);border:none;border-radius:12px;align-items:center;gap:8px;padding:11px 26px;transition:opacity .2s,transform .15s;display:inline-flex}.connection-overlay-btn:hover{opacity:.88;transform:translateY(-1px)}.connection-overlay-btn:active{opacity:.75;transform:translateY(0)}.connection-retry-timer{color:var(--text-muted);margin-top:14px;font-size:.78rem}.messages-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.scroll-bottom-btn{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-glass);width:42px;height:42px;color:var(--text-primary);cursor:pointer;z-index:50;opacity:0;pointer-events:none;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:24px;right:24px;transform:translateY(15px)scale(.8);box-shadow:0 4px 16px #00000059}.scroll-bottom-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scroll-bottom-btn:hover{color:var(--accent-secondary);background:#ffffff29;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 6px 20px #6366f14d}.scroll-bottom-btn:active{transform:translateY(0)}.invite-actions{justify-content:center;gap:12px;width:100%;margin-top:8px;display:flex}.invite-code-card{color:var(--text-primary);background:#8b5cf61a;border:1px solid #8b5cf659;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.invite-code-card.success{background:#22c55e1a;border-color:#22c55e73}.invite-code-card p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.4}.invite-code-card code{color:var(--text-primary);letter-spacing:.02em;-webkit-user-select:all;user-select:all;word-break:break-all;background:#0f172ab8;border-radius:6px;padding:10px 12px;font-size:1rem;font-weight:700;display:block}.btn-accept,.btn-decline{height:42px;font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;min-width:140px;padding:0 24px;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-accept{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-accept:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-accept:active{transform:translateY(0)}.btn-decline{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.btn-decline:hover{background:#ef444433;transform:translateY(-2px)}.btn-decline:active{transform:translateY(0)}.btn-attach{border:1px solid var(--border);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border-radius:12px;flex:none;justify-content:center;align-items:center;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.btn-attach:hover:not(:disabled){color:var(--text-primary);background:#ffffff1a;border-color:#ffffff2e}.btn-attach:disabled{opacity:.65;cursor:not-allowed}.media-attachment{flex-direction:column;gap:6px;min-width:220px;max-width:min(360px,68vw);display:flex}.media-attachment img,.media-attachment video{object-fit:contain;border-radius:var(--radius-sm);background:#00000038;width:100%;max-height:420px;display:block}.media-photo-button{cursor:zoom-in;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;margin:0;padding:0;display:block;overflow:hidden}.media-photo-button img{pointer-events:none}.media-attachment.loading,.media-attachment.error{border-radius:var(--radius-sm);min-height:88px;color:var(--text-secondary);background:#00000029;justify-content:center;align-items:center;padding:14px;font-size:.86rem}.media-caption{color:var(--text-muted);text-shadow:none;justify-content:space-between;gap:12px;font-size:.74rem;font-weight:600;line-height:1.25;display:flex}.media-caption span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-row.sent .media-caption{color:#ffffffe0}.message-row.received .media-caption{color:#e2e8f0b8}.media-upload-progress{color:var(--text-secondary);background:#ffffff0f;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;font-size:.78rem;display:flex}.media-upload-progress-track{background:#ffffff1a;border-radius:999px;height:5px;overflow:hidden}.media-upload-progress-fill{border-radius:inherit;background:var(--accent-gradient);height:100%;transition:width .18s}.media-drop-overlay{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080c18d1;border:1px solid #ffffff24;border-radius:16px;grid-template-rows:1fr 1fr;gap:12px;padding:12px;display:grid;position:absolute;inset:10px}.media-drop-zone{color:#fff;text-align:left;cursor:copy;border:1px dashed #ffffff47;border-radius:14px;justify-content:center;align-items:center;gap:14px;min-height:110px;transition:background .16s,border-color .16s,transform .16s;display:flex}.media-drop-zone strong,.media-drop-zone span{display:block}.media-drop-zone strong{margin-bottom:4px;font-size:1rem}.media-drop-zone span{color:#ffffffb8;font-size:.82rem}.media-drop-zone:hover,.media-drop-zone.active{border-color:#ffffffad;transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff29,0 18px 44px #0000003d}.media-drop-zone-original{background:#3b82f624}.media-drop-zone-original.active{background:#3b82f647}.media-drop-zone-compressed{background:#6366f12e}.media-drop-zone-compressed.active{background:#6366f152}.media-drop-icon{background:#ffffff1a;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.photo-viewer-overlay{z-index:1200;touch-action:none;background:#020617f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-viewer-toolbar{height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;color:#fff;background:linear-gradient(#020617e6,#02061700);align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.photo-viewer-back,.photo-viewer-action{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.photo-viewer-back:hover,.photo-viewer-action:hover:not(:disabled){background:#ffffff29}.photo-viewer-action:disabled{opacity:.42;cursor:not-allowed}.photo-viewer-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.photo-viewer-sender{text-overflow:ellipsis;white-space:nowrap;color:#fffffff0;font-size:.96rem;font-weight:700;overflow:hidden}.photo-viewer-date{text-overflow:ellipsis;white-space:nowrap;color:#ffffff9e;font-size:.76rem;overflow:hidden}.photo-viewer-actions{flex:none;align-items:center;gap:8px;display:flex}.photo-viewer-image{object-fit:contain;will-change:transform, opacity;-webkit-user-select:none;user-select:none;touch-action:none;max-width:100vw;max-height:100dvh;transition:opacity .12s,transform .12s}@media (width<=640px){.photo-viewer-toolbar{gap:8px;padding-left:10px;padding-right:10px}.photo-viewer-back,.photo-viewer-action{width:38px;height:38px}.photo-viewer-actions{gap:5px}}
