@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Syne:wght@500;600;700;800&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#f8fafc;background-color:#020617;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#3b82f6;text-decoration:none;transition:color .2s}a:hover{color:#60a5fa}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}p{margin-bottom:1rem}button{font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}input,textarea{font-family:inherit}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}::selection{background-color:#3b82f64d;color:#f8fafc}html{scroll-behavior:smooth}:root{--bg-base: #050B18;--bg-surface: #0a1120;--bg-surface-alt: #121c33;--accent-primary: #5B5FFF;--accent-hover: #4a4edf;--text-primary: #ffffff;--text-secondary: #8b98a9;--border-light: rgba(255, 255, 255, .08);--danger: #ef4444;--font-heading: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);transition:background-color .4s ease,color .3s ease}[data-theme=light]{--bg-base: #f1f5f9;--bg-surface: #ffffff;--bg-surface-alt: #e2e8f0;--accent-primary: #4f46e5;--accent-hover: #4338ca;--text-primary: #0f172a;--text-secondary: #475569;--border-light: rgba(0, 0, 0, .1);color-scheme:light}.theme-toggle-btn{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-light);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;font-size:1.2rem;transition:all .3s var(--ease-out-expo)}.theme-toggle-btn:hover{transform:scale(1.1);background:var(--bg-surface);box-shadow:0 0 12px #5b5fff4d}.theme-toggle-btn.spin{animation:themeFlip .5s var(--spring) forwards}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em}.btn{font-family:var(--font-body);font-weight:500;font-size:1rem;padding:.875rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;width:100%;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--accent-primary);color:#fff;transition:background-color .22s ease,box-shadow .22s ease,transform .15s ease}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 4px 18px #5b5fff59;transform:translateY(-1px)}.btn-outline{background-color:transparent;border-color:var(--border-light);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background-color:var(--bg-surface-alt)}.btn-google{background-color:#fff;color:#000}.btn-google:hover:not(:disabled){background-color:#e5e5e5}.input{width:100%;padding:.875rem 1.25rem;border-radius:8px;background-color:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #5b5fff26}.input::placeholder{color:var(--text-secondary)}.login-container{display:flex;min-height:100vh;width:100%}.login-left{display:none;min-height:100%;height:100%}.login-right{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:fadeIn .4s ease-out}.login-form-wrapper{width:100%;max-width:400px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:20px;padding:2.5rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 40px #00000059,0 0 0 1px #5b5fff0d;position:relative;overflow:hidden;animation:loginCardIn .5s var(--ease-out-expo) both}.login-form-wrapper:before{content:"";position:absolute;inset:-1px;border-radius:21px;background:linear-gradient(135deg,rgba(91,95,255,.3),transparent 50%,rgba(167,139,250,.15));pointer-events:none;animation:loginBorderPulse 4s ease-in-out infinite;z-index:0;opacity:.5}.login-form-wrapper h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700;position:relative;z-index:1;background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-primary) 40%,rgba(91,95,255,.9) 50%,var(--text-primary) 60%,var(--text-primary) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmerText 5s linear infinite}.login-form-wrapper p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2.5rem;position:relative;z-index:1}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light)}.divider:not(:empty):before{margin-right:1rem}.divider:not(:empty):after{margin-left:1rem}.room-selection-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;animation:slideUp .4s ease-out}.room-card{background-color:var(--bg-surface);border:1px solid var(--border-light);border-radius:16px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 8px 32px #0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}@media(prefers-reduced-motion:no-preference){.room-card{animation:roomCardFloat 3s ease-in-out infinite alternate,roomCardEntrance .5s var(--ease-out-expo) both}}.room-card h2{font-size:2rem;margin-bottom:.5rem}.room-card p{color:var(--text-secondary);margin-bottom:2rem}.tab-buttons{display:flex;gap:.5rem;background-color:var(--bg-surface-alt);padding:.35rem;border-radius:10px;margin-bottom:1.5rem}.tab-btn{flex:1;padding:.6rem;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:.95rem;border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn.active{background-color:var(--bg-surface);color:var(--text-primary);box-shadow:0 2px 8px #0003}.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:2rem}.app-layout{display:flex;height:100vh;height:100dvh;background-color:var(--bg-base);overflow:hidden;position:relative}.sidebar{width:320px;background-color:var(--bg-surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;transition:transform .4s var(--spring);z-index:50;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:40;opacity:0;pointer-events:none;transition:opacity .3s}.sidebar-overlay.mobile-open{opacity:1;pointer-events:auto}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:1.25rem}.close-sidebar-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.info-section{margin-bottom:2rem}.info-section h3{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem}.room-code-display{background-color:var(--bg-base);border:1px solid var(--border-light);padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.room-code-display span{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;letter-spacing:.1em}.icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text-primary)}.qr-code-wrapper{background-color:#fff;padding:1rem;border-radius:12px;display:flex;justify-content:center;align-items:center}.room-type-badge{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:.75rem;text-align:center}.room-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.02em}.room-badge-normal{background:#5b5fff1f;color:var(--accent-primary);border:1px solid rgba(91,95,255,.2);animation:badgeGlowNormal 3s ease-in-out infinite}.room-badge-ghost{background:#4b556333;color:#9ca3af;border:1px solid rgba(75,85,99,.3)}.room-badge-couples{background:#ec48991f;color:#ec4899;border:1px solid rgba(236,72,153,.2);animation:badgeGlowCouples 3s ease-in-out infinite}.room-badge-desc{font-size:.7rem;color:var(--text-secondary);font-weight:400}.user-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.03)}.user-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--bg-surface-alt);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent-primary);flex-shrink:0;overflow:hidden;border:1px solid var(--border-light)}.user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-footer{padding:1.5rem;border-top:1px solid var(--border-light)}.chat-main{flex:1;display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative}.chat-header{height:64px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-surface);border-bottom:1px solid var(--border-light);flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:1rem;min-width:0}.hamburger-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem;flex-shrink:0}.chat-title{display:flex;flex-direction:column;min-width:0}.chat-title h2{font-size:1.1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-title span{font-size:.8rem;color:var(--text-secondary)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth;background-image:radial-gradient(circle at center,rgba(255,255,255,.01) 1px,transparent 1px);background-size:20px 20px}.message-wrapper{display:flex;flex-direction:column;max-width:85%}@media(prefers-reduced-motion:no-preference){.message-wrapper.received{animation:msgSlideLeft .4s var(--spring) both}.message-wrapper.sent{animation:msgSlideRight .4s var(--spring) both}}.message-wrapper.received{align-self:flex-start}.message-wrapper.sent{align-self:flex-end;align-items:flex-end}.message-sender{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem;padding:0 .5rem}.message-bubble{padding:.6rem .8rem;border-radius:16px;position:relative;font-size:.95rem;line-height:1.4;word-wrap:break-word}.received .message-bubble{background-color:var(--bg-surface);border-bottom-left-radius:4px;border:1px solid var(--border-light);transition:transform .2s var(--ease-out-expo),box-shadow .2s ease}.sent .message-bubble{background-color:var(--accent-primary);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 12px #5b5fff33;transition:transform .2s var(--ease-out-expo),box-shadow .2s ease}.message-bubble:hover{transform:translateY(-1px)}.sent .message-bubble:hover{box-shadow:0 4px 20px #5b5fff59}.message-footer{display:flex;align-items:center;gap:.4rem;margin-top:.25rem;font-size:.7rem;color:var(--text-secondary);padding:0 .5rem}.sent .message-footer{justify-content:flex-end}.message-status svg{color:var(--accent-primary)}.typing-wrapper{display:flex;align-items:center;gap:.5rem;align-self:flex-start;color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem;animation:fadeIn .3s}.dots{display:flex;gap:.2rem}.dot{width:5px;height:5px;border-radius:50%;background-color:var(--accent-primary);animation:dotWave 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes dotWave{0%,80%,to{transform:scale(.6) translateY(0);opacity:.4;box-shadow:none}40%{transform:scale(1) translateY(-3px);opacity:1;box-shadow:0 0 6px var(--accent-primary)}}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.system-message{align-self:center;background-color:#ffffff0d;padding:.35rem .8rem;border-radius:12px;font-size:.75rem;color:var(--text-secondary);margin:.5rem 0;text-align:center;max-width:90%;border:1px solid var(--border-light);animation:systemMsgExpand .35s var(--ease-out-expo) both}.chat-input-area{padding:.75rem 1rem;background-color:var(--bg-surface);border-top:1px solid var(--border-light);display:flex;align-items:flex-end;gap:.5rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.input-pill{flex:1;background-color:var(--bg-base);border:1.5px solid var(--border-light);border-radius:24px;display:flex;align-items:center;padding:.25rem .5rem;min-height:44px;transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}.input-pill:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #5b5fff26,0 2px 12px #5b5fff1a;transform:scale(1.005)}.input-pill.cipher-mode{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed33,0 2px 16px #7c3aed26;background:linear-gradient(135deg,rgba(124,58,237,.05) 0%,var(--bg-base) 100%)}.emoji-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .4s var(--spring)}.emoji-btn:hover{color:var(--text-primary);transform:rotate(360deg)}.attach-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s;border-radius:50%}.attach-btn:hover{color:var(--accent-primary);background-color:var(--bg-surface-alt)}.chat-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;padding:.5rem;outline:none;resize:none;max-height:120px;line-height:1.4}.chat-input::placeholder{color:var(--text-secondary)}.send-btn{background-color:var(--accent-primary);color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;flex-shrink:0;margin-bottom:2px}.send-btn:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 0 16px #5b5fff80}.send-btn:disabled{opacity:.5;background-color:var(--bg-surface-alt);cursor:not-allowed}.send-btn.pop{animation:sendPop .35s var(--spring) both}.message-content h1,.message-content h2,.message-content h3{margin:.5rem 0;font-weight:600}.message-content p{margin-bottom:.25rem}.message-content p:last-child{margin-bottom:0}.message-content code{background:#0006;padding:.1rem .3rem;border-radius:4px;font-family:monospace;font-size:.85em;color:#93c5fd}.message-content pre{background:#0006;padding:.75rem;border-radius:8px;overflow-x:auto;margin:.5rem 0;border:1px solid rgba(255,255,255,.05)}.message-content pre code{background:transparent;padding:0;color:#f8fafc}.message-content a{text-decoration:underline;text-underline-offset:2px;color:inherit}.message-content ul,.message-content ol{margin-left:1.25rem;margin-bottom:.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scroll-bottom{position:absolute;bottom:80px;right:1.5rem;width:40px;height:40px;border-radius:50%;background-color:var(--bg-surface-alt);border:1px solid var(--border-light);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 12px #0000004d;transition:all .2s}.scroll-bottom:hover{background-color:var(--bg-surface);transform:translateY(-2px)}@media(min-width:768px){.login-left{display:flex;flex:1;background-color:var(--bg-surface);border-right:1px solid var(--border-light);flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative;overflow:hidden;height:100%;min-height:100vh}.sidebar{position:static;transform:none;height:100vh}.sidebar-overlay,.hamburger-btn{display:none}.chat-messages{padding:2rem 3rem}.chat-input-area{padding:1rem 3rem}}a,.link-hover{transition:color .22s ease,opacity .22s ease}a:hover{opacity:.85}.btn:after{content:"";position:absolute;inset:0;background:#ffffff0f;opacity:0;transition:opacity .2s ease;border-radius:inherit;pointer-events:none}.btn:hover:not(:disabled):after{opacity:1}.message-content a{color:#93c5fd;text-decoration:underline;text-underline-offset:2px;transition:color .18s ease}.message-content a:hover{color:#60a5fa}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message-info-btn{opacity:1}@media(hover:hover)and (pointer:fine){.message-info-btn{opacity:0;transition:opacity .2s}.message-wrapper:hover .message-info-btn{opacity:1}}.cipher-message{align-self:flex-start;max-width:88%;animation:cipherSlideIn .4s cubic-bezier(.16,1,.3,1)}.cipher-sender{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#a78bfa;margin-bottom:4px;padding:0 .5rem;font-weight:600;letter-spacing:.02em}.cipher-avatar{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#7c3aed,#5b5fff,#a78bfa);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #7c3aed4d}.cipher-bubble{background:linear-gradient(135deg,#7c3aed1f,#5b5fff14)!important;border:1px solid rgba(124,58,237,.25)!important;border-left:3px solid #7c3aed!important;border-bottom-left-radius:4px!important;color:var(--text-primary)!important;position:relative;overflow:hidden}.cipher-bubble:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(167,139,250,.05) 0%,transparent 50%);pointer-events:none}[data-theme=light] .cipher-bubble{background:linear-gradient(135deg,#7c3aed14,#4f46e50d)!important;border-color:#7c3aed33!important}.cipher-bubble .message-content{color:var(--text-primary)}.cipher-bubble .message-content code{background:#7c3aed26;color:#c4b5fd}[data-theme=light] .cipher-bubble .message-content code{background:#7c3aed1a;color:#6d28d9}.cipher-bubble .message-content pre{background:#0000004d;border-color:#7c3aed26}[data-theme=light] .cipher-bubble .message-content pre{background:#7c3aed0f;border-color:#7c3aed1f}.cipher-bubble .message-content pre code{color:var(--text-primary)}.cipher-bubble .message-content a{color:#a78bfa}.cipher-bubble .message-content table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.85em}.cipher-bubble .message-content th,.cipher-bubble .message-content td{padding:.4rem .6rem;border:1px solid rgba(124,58,237,.2);text-align:left}.cipher-bubble .message-content th{background:#7c3aed1a;font-weight:600}.cipher-bubble .message-content blockquote{border-left:3px solid #7c3aed;padding-left:.75rem;margin:.5rem 0;color:var(--text-secondary);font-style:italic}.cipher-badge{font-size:.65rem;color:#a78bfa;background:#7c3aed1a;padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.04em;margin-left:4px}[data-theme=light] .cipher-badge{background:#7c3aed14;color:#6d28d9}.cipher-private-tag{font-size:.6rem;color:var(--text-secondary);font-style:italic;margin-left:4px;opacity:.7}.cipher-thinking-dots{display:flex;gap:4px;padding:4px 8px;align-items:center}.cipher-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a78bfa);animation:cipherPulse 1.4s infinite ease-in-out both}.cipher-dot:nth-child(1){animation-delay:-.32s}.cipher-dot:nth-child(2){animation-delay:-.16s}.cipher-thinking-pulse{animation:cipherAvatarPulse 1.5s infinite ease-in-out}@keyframes cipherPulse{0%,80%,to{transform:scale(.5);opacity:.3;background:#7c3aed}40%{transform:scale(1);opacity:1;background:#a78bfa}}@keyframes cipherAvatarPulse{0%,to{box-shadow:0 2px 8px #7c3aed4d}50%{box-shadow:0 2px 16px #7c3aed99}}@keyframes cipherSlideIn{0%{opacity:0;transform:translate(-10px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.btn-delete-room{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);padding:.75rem 1rem;border-radius:8px;font-weight:600;transition:all .25s ease}.btn-delete-room:hover{background-color:#ef444426;color:#ef4444;box-shadow:0 0 16px #ef444459;transform:translateY(-1px)}.btn-request-delete{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2);padding:.75rem 1rem;border-radius:8px;font-weight:600;transition:all .2s}.btn-request-delete:hover:not(:disabled){background-color:#f59e0b;color:#fff}.btn-request-delete.pending{opacity:.7;cursor:not-allowed;animation:pulse 2s infinite}.room-deleted-toast{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#ef4444;color:#fff;padding:12px 24px;border-radius:30px;z-index:100;font-weight:600;font-size:.95rem;box-shadow:0 4px 15px #ef444466;display:flex;align-items:center;gap:8px;animation:slideDownToast .3s ease-out}.delete-request-notification{position:absolute;top:80px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-color);padding:16px;border-radius:12px;z-index:90;width:90%;max-width:400px;box-shadow:0 10px 30px #0003;animation:slideDownToast .3s ease-out}.delete-request-content{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.delete-request-icon{background:#f59e0b1a;color:#f59e0b;padding:8px;border-radius:50%;display:flex}.delete-request-text{font-size:.95rem;line-height:1.4;color:var(--text-primary)}.delete-request-text span{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:4px}.delete-request-actions{display:flex;gap:8px}.dr-btn{flex:1;padding:8px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:opacity .2s}.dr-btn:hover{opacity:.9}.dr-btn-reject{background:var(--bg-input);color:var(--text-primary)}.dr-btn-approve{background:#ef4444;color:#fff}@keyframes slideDownToast{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:no-preference){@keyframes msgSlideRight{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes msgSlideLeft{0%{opacity:0;transform:translate(-24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes roomCardFloat{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes roomCardEntrance{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginCardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginBorderPulse{0%,to{opacity:.4}50%{opacity:.75}}@keyframes shimmerText{0%{background-position:200% center}to{background-position:-200% center}}@keyframes themeFlip{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}@keyframes sendPop{0%{transform:scale(1)}40%{transform:scale(.82)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes systemMsgExpand{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes toastBounceIn{0%{opacity:0;transform:translate(-50%,-40px) scale(.9)}65%{transform:translate(-50%,4px) scale(1.04)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.95)}}@keyframes cipherAvatarSpin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes userSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes onlinePulse{0%{box-shadow:0 0 #4ade8099}70%{box-shadow:0 0 0 6px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes badgeGlowNormal{0%,to{box-shadow:0 0 #5b5fff00}50%{box-shadow:0 0 8px 2px #5b5fff33}}@keyframes badgeGlowCouples{0%,to{box-shadow:0 0 #ec489900}50%{box-shadow:0 0 8px 2px #ec489933}}@keyframes tabSlideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.error-msg{color:var(--danger);font-size:.875rem;margin-top:.5rem}.error-msg.shake{animation:shakeX .4s ease both}.user-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.03);animation:userSlideIn .35s var(--ease-out-expo) both}.user-avatar.online{box-shadow:0 0 0 2px #4ade80;animation:onlinePulse 2s ease-in-out infinite}.cipher-avatar{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#7c3aed,#5b5fff,#a78bfa);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #7c3aed4d;animation:cipherAvatarSpin 4s linear infinite}.ghost-toast{animation:toastBounceIn .45s var(--ease-out-expo) both!important}.room-deleted-toast{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#ef4444;color:#fff;padding:12px 24px;border-radius:30px;z-index:100;font-weight:600;font-size:.95rem;box-shadow:0 4px 20px #ef44448c;display:flex;align-items:center;gap:8px;animation:toastBounceIn .45s var(--ease-out-expo) both;overflow:hidden}.room-deleted-toast:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background:#ffffff80;animation:toastDrain 2.5s linear forwards;transform-origin:left}@keyframes toastDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.delete-request-notification{position:absolute;top:80px;left:50%;transform:translate(-50%);background:var(--bg-surface);border:1px solid var(--border-light);padding:16px;border-radius:12px;z-index:90;width:90%;max-width:400px;box-shadow:0 10px 30px #0003;animation:toastBounceIn .45s var(--ease-out-expo) both,shakeX .5s .5s ease both}.ambient-canvas-wrapper{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.2}.typing-avatar-ring{animation:onlinePulse 1.5s ease-in-out infinite}.char-counter{font-size:.7rem;color:var(--text-secondary);padding:0 .5rem;opacity:0;transition:opacity .3s ease;white-space:nowrap}.char-counter.visible{opacity:1}.char-counter.warn{color:var(--danger)}.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#ffffff26;transform:scale(0);opacity:0;pointer-events:none;transition:none}.btn:active:after{animation:ripple .45s ease-out forwards}.btn-google:hover:not(:disabled),.btn-outline:hover:not(:disabled){transform:translateY(-2px)}.btn-google:hover:not(:disabled){box-shadow:0 4px 14px #00000026}.btn-outline:hover:not(:disabled){box-shadow:0 4px 14px #5b5fff26}.tab-btn{position:relative}.tab-btn.active:after{content:"";position:absolute;bottom:2px;left:20%;right:20%;height:2px;border-radius:2px;background:var(--accent-primary);animation:tabSlideIn .25s var(--ease-out-expo) both}.icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s,transform .25s var(--ease-out-expo);display:flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text-primary);transform:scale(1.15)}.icon-btn.copied{color:#4ade80;animation:sendPop .35s var(--spring) both}.hamburger-btn:hover{opacity:.7;transform:scale(1.08);transition:opacity .2s,transform .2s}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background-color:#5b5fff66;border-radius:4px;transition:background-color .2s}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:#5b5fffa6}.sidebar-content::-webkit-scrollbar{width:3px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background-color:#5b5fff40;border-radius:3px}[data-theme=light] .login-form-wrapper:before{background:linear-gradient(135deg,rgba(99,102,241,.2),transparent 50%,rgba(167,139,250,.1))}[data-theme=light] .login-form-wrapper h1{background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-primary) 40%,rgba(79,70,229,.85) 50%,var(--text-primary) 60%,var(--text-primary) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .chat-messages::-webkit-scrollbar-thumb{background-color:#4f46e559}[data-theme=light] .chat-messages::-webkit-scrollbar-thumb:hover{background-color:#4f46e599}[data-theme=light] .dot{background-color:var(--accent-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.rsbg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.rsbg-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(91,95,255,.18) 1px,transparent 1px);background-size:36px 36px;animation:rsbgGridDrift 20s linear infinite;opacity:.6}@keyframes rsbgGridDrift{0%{background-position:0 0}to{background-position:36px 36px}}.rsbg-ring{position:absolute;border-radius:50%;border:1px solid rgba(91,95,255,.22);top:50%;left:50%;transform:translate(-50%,-50%) scale(0);opacity:0;animation:rsbgRingPulse 6s ease-out infinite;will-change:transform,opacity}.rsbg-ring-1{width:200px;height:200px;animation-delay:0s}.rsbg-ring-2{width:380px;height:380px;animation-delay:1.5s}.rsbg-ring-3{width:580px;height:580px;animation-delay:3s}.rsbg-ring-4{width:800px;height:800px;animation-delay:4.5s}@keyframes rsbgRingPulse{0%{transform:translate(-50%,-50%) scale(.2);opacity:.7}60%{opacity:.15}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.rsbg-center{position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;background:var(--accent-primary);transform:translate(-50%,-50%);box-shadow:0 0 #5b5fff99;animation:rsbgCenterPulse 2.5s ease-in-out infinite;will-change:box-shadow}@keyframes rsbgCenterPulse{0%{box-shadow:0 0 #5b5fff99}50%{box-shadow:0 0 0 16px #5b5fff00}to{box-shadow:0 0 #5b5fff00}}.rsbg-sweep{position:absolute;top:50%;left:50%;width:440px;height:440px;transform-origin:center center;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 320deg,rgba(91,95,255,.12) 340deg,rgba(91,95,255,.28) 355deg,rgba(91,95,255,.04) 360deg);animation:rsbgSweep 5s linear infinite;will-change:transform}@keyframes rsbgSweep{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.rsbg-scanline{position:absolute;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(91,95,255,.15) 20%,rgba(91,95,255,.5) 50%,rgba(91,95,255,.15) 80%,transparent 100%);animation:rsbgScan 8s ease-in-out infinite;will-change:transform,opacity;opacity:0}@keyframes rsbgScan{0%{transform:translateY(-20px);opacity:0}5%{opacity:1}50%{opacity:.7}95%{opacity:1}to{transform:translateY(100vh);opacity:0}}.rsbg-node{position:absolute;width:12px;height:12px;border:2px solid rgba(91,95,255,.4);animation:rsbgNodeBlink 3s ease-in-out infinite}.rsbg-node:before,.rsbg-node:after{content:"";position:absolute;background:#5b5fff66}.rsbg-node-tl{top:32px;left:32px;border-right:none;border-bottom:none}.rsbg-node-tr{top:32px;right:32px;border-left:none;border-bottom:none}.rsbg-node-bl{bottom:32px;left:32px;border-right:none;border-top:none}.rsbg-node-br{bottom:32px;right:32px;border-left:none;border-top:none}.rsbg-node-tl{animation-delay:0s}.rsbg-node-tr{animation-delay:.75s}.rsbg-node-bl{animation-delay:1.5s}.rsbg-node-br{animation-delay:2.25s}@keyframes rsbgNodeBlink{0%,to{opacity:.35;border-color:#5b5fff66}50%{opacity:1;border-color:#5b5fffe6;filter:drop-shadow(0 0 4px rgba(91,95,255,.7))}}.rsbg-glyph{position:absolute;font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#5b5fff59;pointer-events:none;animation:rsbgGlyphFloat linear infinite;will-change:transform,opacity;white-space:nowrap;-webkit-user-select:none;user-select:none}.rsbg-glyph-1{top:12%;left:8%;animation-duration:14s;animation-delay:0s}.rsbg-glyph-2{top:25%;right:10%;animation-duration:18s;animation-delay:2s}.rsbg-glyph-3{top:70%;left:6%;animation-duration:16s;animation-delay:4s}.rsbg-glyph-4{top:80%;right:8%;animation-duration:12s;animation-delay:1s}.rsbg-glyph-5{top:15%;right:20%;animation-duration:20s;animation-delay:6s}.rsbg-glyph-6{top:55%;left:5%;animation-duration:15s;animation-delay:3s}.rsbg-glyph-7{top:40%;right:5%;animation-duration:17s;animation-delay:8s}.rsbg-glyph-8{top:88%;left:22%;animation-duration:13s;animation-delay:5s}@keyframes rsbgGlyphFloat{0%{transform:translateY(0) rotate(-3deg);opacity:0}10%{opacity:.55}50%{transform:translateY(-22px) rotate(3deg);opacity:.35}90%{opacity:.5}to{transform:translateY(0) rotate(-3deg);opacity:0}}[data-theme=light] .rsbg-grid{background-image:radial-gradient(circle,rgba(79,70,229,.12) 1px,transparent 1px)}[data-theme=light] .rsbg-ring{border-color:#4f46e526}[data-theme=light] .rsbg-center{background:var(--accent-primary);box-shadow:0 0 #4f46e580}[data-theme=light] .rsbg-sweep{background:conic-gradient(from 0deg,transparent 0deg,transparent 320deg,rgba(79,70,229,.06) 340deg,rgba(79,70,229,.14) 355deg,rgba(79,70,229,.02) 360deg)}[data-theme=light] .rsbg-scanline{background:linear-gradient(90deg,transparent 0%,rgba(79,70,229,.08) 20%,rgba(79,70,229,.3) 50%,rgba(79,70,229,.08) 80%,transparent 100%)}[data-theme=light] .rsbg-node{border-color:#4f46e54d}[data-theme=light] .rsbg-glyph{color:#4f46e540}@media(prefers-reduced-motion:reduce){.rsbg,.room-card-border-spin{display:none}}.rsbg-ring-5{width:1050px;height:1050px;animation-delay:2.25s}.rsbg-sweep-2{width:260px;height:260px;background:conic-gradient(from 180deg,transparent 0deg,transparent 330deg,rgba(167,139,250,.1) 348deg,rgba(167,139,250,.22) 358deg,rgba(167,139,250,.03) 360deg);animation:rsbgSweepReverse 8s linear infinite}@keyframes rsbgSweepReverse{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.rsbg-scanline-2{animation-delay:4s;background:linear-gradient(90deg,transparent 0%,rgba(167,139,250,.1) 20%,rgba(167,139,250,.35) 50%,rgba(167,139,250,.1) 80%,transparent 100%)}.rsbg-orbit{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.rsbg-orbit-dot{position:absolute;border-radius:50%;transform-origin:0 0;will-change:transform}.rsbg-orbit-dot-1{width:6px;height:6px;background:#5b5fff;box-shadow:0 0 8px #5b5fffcc;animation:rsbgOrbit1 7s linear infinite}.rsbg-orbit-dot-2{width:5px;height:5px;background:#a78bfa;box-shadow:0 0 6px #a78bfacc;animation:rsbgOrbit2 11s linear infinite}.rsbg-orbit-dot-3{width:4px;height:4px;background:#60a5fa;box-shadow:0 0 6px #60a5facc;animation:rsbgOrbit3 9s linear infinite reverse}.rsbg-orbit-dot-4{width:5px;height:5px;background:#facc15;box-shadow:0 0 6px #facc15b3;animation:rsbgOrbit4 14s linear infinite}@keyframes rsbgOrbit1{0%{transform:rotate(0) translate(120px) rotate(0)}to{transform:rotate(360deg) translate(120px) rotate(-360deg)}}@keyframes rsbgOrbit2{0%{transform:rotate(45deg) translate(190px) rotate(-45deg)}to{transform:rotate(405deg) translate(190px) rotate(-405deg)}}@keyframes rsbgOrbit3{0%{transform:rotate(200deg) translate(155px) rotate(-200deg)}to{transform:rotate(560deg) translate(155px) rotate(-560deg)}}@keyframes rsbgOrbit4{0%{transform:rotate(280deg) translate(230px) rotate(-280deg)}to{transform:rotate(640deg) translate(230px) rotate(-640deg)}}.rsbg-rain{position:absolute;display:flex;flex-direction:column;gap:4px;font-family:Courier New,monospace;font-size:.65rem;font-weight:700;color:#5b5fff80;letter-spacing:.05em;-webkit-user-select:none;user-select:none;pointer-events:none}.rsbg-rain-1{left:4%;top:-20%;animation:rsbgRainFall 12s linear infinite 0s}.rsbg-rain-2{left:10%;top:-20%;animation:rsbgRainFall 16s linear infinite 2s}.rsbg-rain-3{right:6%;top:-20%;animation:rsbgRainFall 14s linear infinite 4s}.rsbg-rain-4{right:14%;top:-20%;animation:rsbgRainFall 18s linear infinite 1s}.rsbg-rain-5{left:18%;top:-20%;animation:rsbgRainFall 15s linear infinite 6s}.rsbg-rain-6{right:22%;top:-20%;animation:rsbgRainFall 13s linear infinite 3s}.rsbg-rain-7{left:28%;top:-20%;animation:rsbgRainFall 17s linear infinite 8s}@keyframes rsbgRainFall{0%{transform:translateY(-60px);opacity:0}5%{opacity:.7}85%{opacity:.4}to{transform:translateY(110vh);opacity:0}}.rsbg-rain-char{display:block}.rsbg-rain-char-1{animation:rsbgCharFlick 2.1s ease-in-out infinite 0s}.rsbg-rain-char-2{animation:rsbgCharFlick 1.8s ease-in-out infinite .3s}.rsbg-rain-char-3{animation:rsbgCharFlick 2.4s ease-in-out infinite .6s}.rsbg-rain-char-4{animation:rsbgCharFlick 1.6s ease-in-out infinite .9s}.rsbg-rain-char-5{animation:rsbgCharFlick 2s ease-in-out infinite 1.2s}.rsbg-rain-char-6{animation:rsbgCharFlick 1.9s ease-in-out infinite 1.5s}.rsbg-rain-char-7{animation:rsbgCharFlick 2.3s ease-in-out infinite 1.8s}.rsbg-rain-char-8{animation:rsbgCharFlick 1.7s ease-in-out infinite 2.1s}@keyframes rsbgCharFlick{0%,to{opacity:.3;color:#5b5fff80}40%{opacity:1;color:#a78bfae6;text-shadow:0 0 6px rgba(167,139,250,.8)}70%{opacity:.5;color:#5b5fff99}}.rsbg-hex{position:absolute;pointer-events:none;will-change:transform,opacity;width:40px;height:46px;border:1px solid rgba(91,95,255,.2);border-radius:4px;transform:rotate(30deg);background:#5b5fff08}.rsbg-hex-1{top:10%;left:3%;width:44px;height:50px;animation:rsbgHexDrift 18s ease-in-out infinite 0s}.rsbg-hex-2{top:70%;right:4%;width:36px;height:42px;animation:rsbgHexDrift 22s ease-in-out infinite 4s}.rsbg-hex-3{top:35%;left:2%;width:28px;height:32px;animation:rsbgHexDrift 14s ease-in-out infinite 8s}.rsbg-hex-4{top:20%;right:3%;width:52px;height:60px;animation:rsbgHexDrift 26s ease-in-out infinite 12s}@keyframes rsbgHexDrift{0%,to{transform:rotate(30deg) translateY(0);opacity:.35}25%{transform:rotate(45deg) translateY(-18px);opacity:.6}50%{transform:rotate(30deg) translateY(-8px);opacity:.25}75%{transform:rotate(15deg) translateY(-20px);opacity:.55}}.rsbg-dataline{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(91,95,255,.4),transparent);overflow:hidden;pointer-events:none}.rsbg-dataline-1{top:30%;left:0;right:0}.rsbg-dataline-2{top:55%;left:0;right:0;animation-delay:3s}.rsbg-dataline-3{top:75%;left:0;right:0;animation-delay:6s}.rsbg-packet{position:absolute;height:100%;width:80px;background:linear-gradient(90deg,transparent,rgba(91,95,255,.9),rgba(167,139,250,.6),transparent);animation:rsbgPacket 4s ease-in-out infinite;border-radius:2px;box-shadow:0 0 8px #5b5fff80;will-change:transform}.rsbg-dataline-2 .rsbg-packet{animation-delay:1.5s;animation-duration:5s}.rsbg-dataline-3 .rsbg-packet{animation-delay:3s;animation-duration:3.5s}@keyframes rsbgPacket{0%{transform:translate(-100px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(calc(100vw + 100px));opacity:0}}.room-card-animated{position:relative;isolation:isolate;background:var(--bg-surface)!important}.room-card-border-spin{position:absolute;inset:-2px;border-radius:18px;z-index:-1;background:conic-gradient(from var(--spin-angle, 0deg),#5B5FFF 0deg,#a78bfa 60deg,#60a5fa 120deg,#facc15 180deg,#ef4444 240deg,#a78bfa 300deg,#5B5FFF 360deg);animation:roomBorderSpin 6s linear infinite;opacity:.55;filter:blur(1px)}.room-card-border-spin:after{content:"";position:absolute;inset:3px;border-radius:15px;background:var(--bg-surface)}@property --spin-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes roomBorderSpin{to{--spin-angle: 360deg}}@supports not (background: conic-gradient(from 1deg,red,blue)){.room-card-border-spin{background:linear-gradient(135deg,#5b5fff,#a78bfa,#60a5fa,#5b5fff);background-size:300% 300%;animation:roomBorderFallback 4s linear infinite}@keyframes roomBorderFallback{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}}.room-card-logo{display:block;margin:0 auto;animation:roomLogoGlow 3s ease-in-out infinite;will-change:filter}@keyframes roomLogoGlow{0%,to{filter:drop-shadow(0 0 0px rgba(91,95,255,0))}50%{filter:drop-shadow(0 0 14px rgba(91,95,255,.65)) drop-shadow(0 0 28px rgba(167,139,250,.3))}}.room-card-title{background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-primary) 35%,rgba(91,95,255,.95) 50%,rgba(167,139,250,.9) 55%,var(--text-primary) 65%,var(--text-primary) 100%);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:roomTitleShimmer 3.5s linear infinite}@keyframes roomTitleShimmer{0%{background-position:200% center}to{background-position:-200% center}}[data-theme=light] .room-card-border-spin{opacity:.35}[data-theme=light] .room-card-title{background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-primary) 35%,rgba(79,70,229,.9) 50%,rgba(99,102,241,.85) 55%,var(--text-primary) 65%,var(--text-primary) 100%);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .rsbg-rain,[data-theme=light] .rsbg-rain-char{color:#4f46e566}[data-theme=light] .rsbg-hex{border-color:#4f46e52e;background:#4f46e505}[data-theme=light] .rsbg-dataline{background:linear-gradient(90deg,transparent,rgba(79,70,229,.3),transparent)}[data-theme=light] .rsbg-packet{background:linear-gradient(90deg,transparent,rgba(79,70,229,.8),rgba(99,102,241,.5),transparent)}[data-theme=light] .rsbg-sweep-2{background:conic-gradient(from 180deg,transparent 0deg,transparent 330deg,rgba(99,102,241,.06) 348deg,rgba(99,102,241,.15) 358deg,rgba(99,102,241,.02) 360deg)}.empty-state-normal{position:relative;width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center}.empty-state-normal .radar-anim{position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.empty-state-normal .radar-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:1px solid var(--accent-primary);opacity:0;animation:radarPulse 3s cubic-bezier(.215,.61,.355,1) infinite}.empty-state-normal .radar-ring-2{animation-delay:1.5s}@keyframes radarPulse{0%{transform:scale(.8);opacity:0}50%{opacity:.4}to{transform:scale(2.5);opacity:0}}.empty-state-couples{position:relative;width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;color:#ffb3c6}.empty-state-couples .heart-anim{position:relative;z-index:2;animation:heartBeating 1.5s ease-in-out infinite;display:flex;align-items:center;justify-content:center}.empty-state-couples .heart-pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffb3c666;opacity:0;animation:heartRipples 2s ease-out infinite}.empty-state-couples .heart-pulse-ring-2{background-color:#fff6;animation-delay:1s}@keyframes heartBeating{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}@keyframes heartRipples{0%{transform:scale(.5);opacity:.8}to{transform:scale(2.2);opacity:0}}.app-layout.theme-couples{--bg-base: #ffe4e6;--bg-surface: #fff1f2;--bg-surface-alt: #fecdd3;--accent-primary: #f43f5e;--accent-hover: #e11d48;--text-primary: #881337;--text-secondary: #be123c;--border-light: rgba(244, 63, 94, .2);background:radial-gradient(circle at center,var(--bg-surface-alt) 0%,var(--bg-base) 100%);transition:all .6s var(--spring)}[data-theme=dark] .app-layout.theme-couples{--bg-base: #2a0a18;--bg-surface: #3f0f24;--bg-surface-alt: #5c1635;--accent-primary: #fb7185;--accent-hover: #f43f5e;--text-primary: #ffe4e6;--text-secondary: #fda4af;--border-light: rgba(251, 113, 133, .2);background:radial-gradient(circle at center,var(--bg-surface-alt) 0%,var(--bg-base) 100%);transition:all .6s var(--spring)}.couples-theme-btn{background:transparent;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#ec4899;transition:all .3s var(--spring);flex-shrink:0}.couples-theme-btn:hover{background:#ec489926;transform:scale(1.1)}.couples-theme-btn.active{background:#ec4899;color:#fff;box-shadow:0 0 12px #ec489980;animation:heartBeating 1.5s ease-in-out infinite}@media(max-width:768px){.rsbg-orbit,.rsbg-rain,.rsbg-hex,.rsbg-dataline{display:none!important}.rsbg-ring,.rsbg-sweep,.rsbg-sweep-2{animation-duration:25s!important;will-change:transform}.recent-rooms-section{padding:.8rem}.recent-rooms-section .btn{padding:.35rem .6rem!important;font-size:.75rem!important}.btn-delete-room,.btn-request-delete{font-size:.8rem!important;padding:.6rem!important;white-space:normal;text-align:center;line-height:1.2}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.chat-header{padding:0 .5rem}.chat-title h2{font-size:.95rem}.couples-theme-btn{width:28px;height:28px;font-size:1rem}}.file-message{display:flex;flex-direction:column;gap:8px;min-width:200px;max-width:100%}.file-image-preview{display:flex;justify-content:center;align-items:center;border-radius:8px;overflow:hidden;background-color:var(--bg-surface-alt)}.file-image-preview img{max-width:100%;max-height:200px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .2s ease}.file-image-preview img:hover{transform:scale(1.02)}.file-image-placeholder{width:100%;height:150px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.85rem}.file-doc-preview{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--bg-surface-alt);border-radius:8px;border:1px solid var(--border-light)}.file-doc-preview svg{color:var(--accent-primary);flex-shrink:0}.file-info{display:flex;flex-direction:column;overflow:hidden}.file-name{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.75rem;color:var(--text-secondary)}.file-progress-container{width:100%;height:4px;background-color:var(--border-light);border-radius:2px;overflow:hidden}.file-progress-bar{height:100%;background-color:var(--accent-primary);transition:width .2s linear}.file-download-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background-color:var(--accent-primary);color:#fff;text-decoration:none;border-radius:6px;font-size:.85rem;font-weight:500;transition:background-color .2s;align-self:flex-start}.file-download-btn:hover{background-color:var(--accent-hover)}
