@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #050505;--bg-secondary: #0a0a0a;--bg-surface: #111111;--bg-elevated: #1a1a1a;--accent-primary: #00ff41;--accent-secondary: #28c840;--accent-glow: rgba(0, 255, 65, .15);--text-primary: #f0f0f0;--text-secondary: #999;--text-muted: #555;--border: rgba(0, 255, 65, .1);--danger: #f85149;--success: #3fb950;--warning: #d29922;--message-out: #0b1a0b;--message-in: #111111;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-ui);font-weight:400;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;overflow:hidden;letter-spacing:-.01em}#app{height:100%;display:flex;flex-direction:column}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.mesh-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(0,255,65,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.02) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.auth-screen{display:flex;align-items:center;justify-content:center;height:100%;position:relative}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:48px 40px;width:100%;max-width:420px;backdrop-filter:blur(20px);box-shadow:0 0 80px #00ff410a,0 20px 60px #00000080;z-index:1}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo h1{font-family:var(--font-logo);font-size:32px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,#00ff41,#0c3,#28c840);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-logo .tagline{font-size:13px;color:var(--text-muted);margin-top:8px;font-weight:400;letter-spacing:.02em}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;letter-spacing:.01em}.form-input{width:100%;padding:14px 16px;background:var(--bg-primary);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text-primary);font-family:var(--font-ui);font-size:15px;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--text-muted);font-weight:400}.form-input:focus{border-color:#00ff4166;box-shadow:0 0 0 3px #00ff4114}.btn{width:100%;padding:15px;border:none;border-radius:10px;font-family:var(--font-ui);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,#0c3,#00aa28);color:#fff;box-shadow:0 4px 20px #00ff4126}.btn-primary:hover{box-shadow:0 4px 30px #00ff4140;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--accent-primary);border:1px solid rgba(0,255,65,.15)}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.auth-switch a{color:var(--accent-primary);text-decoration:none;cursor:pointer;font-weight:500}.app-layout{display:flex;height:100%}.sidebar{width:340px;background:var(--bg-secondary);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-family:var(--font-logo);font-size:18px;font-weight:700;letter-spacing:1px;background:linear-gradient(135deg,#00ff41,#28c840);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-search{padding:12px 16px}.sidebar-search input{width:100%;padding:10px 14px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.05);border-radius:10px;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:400;outline:none}.conversations-list{flex:1;overflow-y:auto}.conversation-item{display:flex;align-items:center;padding:14px 20px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.02)}.conversation-item:hover{background:#ffffff08}.conversation-item.active{background:var(--bg-elevated);border-left:3px solid var(--accent-primary)}.conversation-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#0c3,#092);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;flex-shrink:0;margin-right:12px;color:#fff}.conversation-info{flex:1;min-width:0}.conversation-name{font-weight:500;font-size:14px;margin-bottom:2px}.conversation-preview{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{text-align:right;flex-shrink:0}.conversation-time{font-size:11px;color:var(--text-muted)}.unread-badge{display:inline-block;background:var(--accent-primary);color:#000;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;margin-top:4px}.chat-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.chat-header{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:12px;background:var(--bg-secondary)}.chat-header-info h3{font-size:15px;font-weight:600}.chat-header-info .status{font-size:12px;color:var(--success)}.chat-header-actions{margin-left:auto;display:flex;gap:8px}.messages-container{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.message{max-width:65%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;position:relative;word-break:break-word}.message-sent{align-self:flex-end;background:var(--message-out);border:1px solid rgba(0,255,65,.06);border-bottom-right-radius:4px}.message-received{align-self:flex-start;background:var(--message-in);border:1px solid rgba(255,255,255,.04);border-bottom-left-radius:4px}.message-time{font-size:10px;color:var(--text-muted);margin-top:4px;text-align:right}.message-status{font-size:10px;color:var(--accent-primary);margin-left:6px}.e2e-badge{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;font-size:12px;color:var(--text-muted);margin-bottom:12px}.e2e-badge .lock-icon{color:var(--accent-primary)}.compose-bar{padding:12px 20px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;background:var(--bg-secondary)}.compose-input{flex:1;padding:12px 16px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.06);border-radius:24px;color:var(--text-primary);font-family:var(--font-ui);font-size:14px;font-weight:400;outline:none;resize:none;max-height:120px}.compose-input:focus{border-color:#00ff414d}.compose-btn{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#0c3,#092);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 12px #00ff4126}.compose-btn:hover{box-shadow:0 4px 20px #00ff4140;transform:scale(1.05)}.compose-actions{display:flex;gap:2px}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.typing-indicator{display:flex;gap:4px;padding:8px 14px;align-self:flex-start}.typing-indicator span{width:7px;height:7px;background:var(--text-muted);border-radius:50%;animation:typing 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}.scan-line{position:fixed;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);animation:scan 4s linear infinite;opacity:.2;z-index:9999;pointer-events:none}@keyframes scan{0%{top:0}to{top:100%}}.modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-surface);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 60px #0009}.modal h3{font-size:18px;font-weight:600;margin-bottom:20px}.settings-panel{padding:24px}.settings-group{margin-bottom:24px}.settings-group h4{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-elevated);border-radius:10px;margin-bottom:4px;font-size:14px}.icon-btn{background:none;border:1px solid transparent;color:var(--text-secondary);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:#00ff411a;color:var(--accent-primary);background:#00ff410a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loading{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(200%)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}.loading-dots span{animation:dotPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:0}40%{opacity:1}}.message:hover{filter:brightness(1.05)}.conversation-item{transition:all .15s ease}.form-input:focus,.compose-input:focus{box-shadow:0 0 0 3px #00ff4114}@supports (padding: env(safe-area-inset-top)){.sidebar-header{padding-top:calc(16px + env(safe-area-inset-top))}.compose-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}::selection{background:#00ff4140;color:#fff}@media(max-width:768px){.sidebar{width:100%}.chat-panel,.app-layout.chat-open .sidebar{display:none}.app-layout.chat-open .chat-panel{display:flex}.message{max-width:85%}.back-btn{display:block!important}}@media(min-width:769px){.back-btn{display:none!important}}.screen-protected{-webkit-user-select:none;user-select:none}body.blur-on-inactive #app{filter:blur(30px);transition:filter .15s}.screen-lock-overlay{position:fixed;inset:0;z-index:10000;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.message-burn{border:1px solid rgba(248,81,73,.3)!important;background:#f851490d!important;position:relative}.message-burn:before{content:"🔥";position:absolute;top:-8px;right:-8px;font-size:14px}.reactions-bar{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.reaction-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:12px;font-size:13px;background:var(--bg-elevated);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .15s}.reaction-chip:hover{border-color:var(--accent-primary)}.reaction-chip.mine{border-color:var(--accent-primary);background:#00ff4114}.reaction-count{font-size:11px;color:var(--text-muted)}.quick-reactions{display:flex;gap:4px;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px;box-shadow:0 8px 30px #00000080;position:absolute;bottom:100%;left:0;animation:fadeInUp .15s ease-out}.quick-reactions button{font-size:20px;padding:4px 6px;background:none;border:none;cursor:pointer;border-radius:8px;transition:transform .1s}.quick-reactions button:hover{transform:scale(1.3)}.pinned-bar{padding:8px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;cursor:pointer}.pinned-bar:hover{background:var(--bg-surface)}.msg-bold{font-weight:600}.msg-italic{font-style:italic}.msg-code{font-family:var(--font-mono);font-size:13px;background:var(--bg-primary);padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.06)}.msg-code-block{font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.06);margin:4px 0;white-space:pre-wrap;overflow-x:auto}.msg-quote{border-left:3px solid var(--accent-primary);padding-left:10px;margin:4px 0;color:var(--text-secondary);font-style:italic}.msg-strikethrough{text-decoration:line-through;color:var(--text-muted)}.msg-link{color:var(--accent-primary);text-decoration:underline;cursor:pointer}.note-item{padding:12px 16px;background:var(--bg-surface);border-radius:10px;margin-bottom:6px;border-left:3px solid var(--accent-primary);font-size:14px;position:relative}.conversation-archived{opacity:.5}.muted-icon{color:var(--text-muted);font-size:12px}.presence-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary);position:absolute;bottom:0;right:0}.presence-online{background:var(--success)}.presence-offline{background:var(--text-muted)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;max-height:200px;overflow-y:auto}.emoji-grid button{font-size:22px;padding:6px;background:none;border:none;cursor:pointer;border-radius:8px;transition:background .1s;display:flex;align-items:center;justify-content:center}.emoji-grid button:hover{background:var(--bg-elevated)}.emoji-categories{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.emoji-categories button{font-size:16px;padding:4px 8px;background:none;border:none;cursor:pointer;border-radius:6px;opacity:.5}.emoji-categories button.active{opacity:1;background:var(--bg-elevated)}.format-toolbar{display:flex;gap:2px;padding:4px 8px;border-top:1px solid rgba(255,255,255,.05);background:var(--bg-secondary)}.format-toolbar button{font-size:13px;padding:4px 8px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-family:var(--font-mono)}.format-toolbar button:hover{color:var(--accent-primary);background:var(--bg-elevated)}.chat-search{padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px}.chat-search input{flex:1;padding:8px 12px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.06);border-radius:8px;color:var(--text-primary);font-size:13px;outline:none}.chat-search .results{font-size:12px;color:var(--text-muted);white-space:nowrap}
