:root{--bg-deep: #f8fafc;--bg-primary: #ffffff;--bg-surface: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-card-active: #e2e8f0;--border-subtle: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .12);--border-cyan: rgba(2, 132, 199, .4);--border-emerald: rgba(16, 185, 129, .4);--text-main: #0f172a;--text-muted: #64748b;--text-dim: #94a3b8;--cyan-neon: #0284c7;--cyan-dark: #0369a1;--cyan-glow: rgba(2, 132, 199, .2);--emerald-neon: #10b981;--emerald-dim: rgba(16, 185, 129, .15);--purple-neon: #a855f7;--purple-dim: rgba(168, 85, 247, .15);--amber-alert: #f59e0b;--amber-dim: rgba(245, 158, 11, .15);--red-alert: #f43f5e;--red-dim: rgba(244, 63, 94, .15);--font-display: "Sora", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--shadow-subtle: 0 4px 20px rgba(0, 0, 0, .35);--shadow-glow: 0 0 24px rgba(0, 242, 254, .18);--shadow-emerald: 0 0 20px rgba(16, 185, 129, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-deep);color:var(--text-main);line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--cyan-dark)}button,input,textarea{font-family:inherit;color:inherit;border:none;outline:none}button{cursor:pointer}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-2{gap:8px}.mr-1{margin-right:4px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mt-2{margin-top:8px}.text-cyan{color:var(--cyan-neon)!important}.text-emerald{color:var(--emerald-neon)!important}.text-purple{color:var(--purple-neon)!important}.text-amber{color:var(--amber-alert)!important}.text-dim{color:var(--text-muted)!important}.font-semibold{font-weight:600}.text-gradient-cyan{background:linear-gradient(135deg,#00f2fe,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-split-screen{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--bg-deep)}.auth-brand-pane{position:relative;background:linear-gradient(145deg,var(--bg-surface) 0%,var(--bg-deep) 100%);border-right:1px solid var(--border-subtle);padding:48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}@media (max-width: 900px){.auth-split-screen{grid-template-columns:1fr}.auth-brand-pane{display:none}}.auth-brand-glow-orb{position:absolute;top:-100px;left:-100px;width:450px;height:450px;background:radial-gradient(circle,var(--cyan-glow) 0%,transparent 70%);pointer-events:none;filter:blur(40px)}.auth-brand-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:36px 36px;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 80%);mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 80%)}.brand-header-row{display:flex;align-items:center;gap:14px;z-index:2}.brand-badge-shield{width:46px;height:46px;border-radius:var(--radius-md);background:#0284c71a;border:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--cyan-glow)}.shield-neon{color:var(--cyan-neon)}.brand-title-text{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em}.brand-version-pill{display:block;font-size:11px;color:var(--cyan-neon);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.brand-hero-content{z-index:2;margin:36px 0}.brand-hero-heading{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1.25;margin-bottom:16px}.brand-hero-sub{font-size:15px;color:var(--text-muted);line-height:1.6;max-width:480px;margin-bottom:32px}.crypto-features-list{display:flex;flex-direction:column;gap:14px;max-width:490px}.crypto-feature-card{display:flex;align-items:flex-start;gap:14px;background:var(--bg-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 18px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.crypto-feature-card:hover{background:var(--bg-card-hover);border-color:var(--border-cyan);transform:translate(4px)}.feature-icon-box{width:34px;height:34px;border-radius:8px;background:#0284c71a;color:var(--cyan-neon);display:flex;align-items:center;justify-content:center;flex-shrink:0}.crypto-feature-card strong{display:block;font-size:14px;color:var(--text-main);margin-bottom:2px}.crypto-feature-card p{font-size:12.5px;color:var(--text-muted);line-height:1.4}.brand-terminal-bar{z-index:2;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;box-shadow:0 2px 8px #0000000a}.terminal-header-dots{display:flex;align-items:center;gap:6px;margin-bottom:8px}.term-dot{width:8px;height:8px;border-radius:50%}.term-dot.red{background:#ef4444}.term-dot.yellow{background:#f59e0b}.term-dot.green{background:#10b981}.term-title{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-left:6px}.auth-cipher-line{font-family:var(--font-mono);font-size:14px;color:var(--cyan-dark);font-weight:600;letter-spacing:.04em;min-height:22px}.auth-form-container{display:flex;align-items:center;justify-content:center;padding:36px 24px;position:relative;background:var(--bg-deep)}.auth-form-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:36px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000000f}.auth-card-top{margin-bottom:24px}.auth-card-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:#0284c71a;color:var(--cyan-neon);font-size:12px;font-weight:500;margin-bottom:12px}.auth-heading{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;color:var(--text-main)}.auth-subheading{font-size:13.5px;color:var(--text-muted)}.auth-alert-message{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:18px;line-height:1.4}.auth-alert-message.error{background:var(--red-dim);border:1px solid rgba(244,63,94,.3);color:#fda4af}.auth-alert-message.info{background:#00f2fe1a;border:1px solid var(--border-cyan);color:var(--cyan-neon)}.spinning-icon{animation:spin-slow 2s linear infinite;flex-shrink:0}@keyframes spin-slow{to{transform:rotate(360deg)}}.auth-form-body{display:flex;flex-direction:column;gap:18px}.input-field-group{display:flex;flex-direction:column;gap:6px}.input-field-group label{font-size:13px;font-weight:500;color:var(--text-muted)}.input-with-icon{position:relative;display:flex;align-items:center}.field-icon-left{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.input-with-icon input{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px 12px 42px;font-size:14.5px;color:var(--text-main);transition:all .2s ease}.input-with-icon input:focus{border-color:var(--cyan-neon);box-shadow:0 0 0 3px #00f2fe26;background:var(--bg-card)}.input-with-icon input::placeholder{color:var(--text-dim)}.field-toggle-pwd{position:absolute;right:12px;background:transparent;color:var(--text-dim);padding:4px;display:flex;align-items:center}.field-toggle-pwd:hover{color:var(--text-main)}.btn-auth-primary{margin-top:6px;background:linear-gradient(135deg,#00f2fe,#0891b2);color:#041019;font-weight:600;font-size:15px;padding:13px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-glow);transition:all .2s ease}.btn-auth-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 0 28px #00f2fe59}.btn-auth-primary:disabled{opacity:.6;cursor:not-allowed}.auth-card-footer{margin-top:20px;text-align:center}.auth-switch-link{font-size:13.5px;color:var(--text-muted)}.auth-switch-link a{color:var(--cyan-neon);font-weight:500;text-decoration:none;margin-left:4px}.auth-switch-link a:hover{text-decoration:underline}.app-chat-shell{display:grid;grid-template-columns:330px 1fr;height:100vh;background:var(--bg-deep)}.btn-mobile-back{display:none;width:34px;height:34px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-main);align-items:center;justify-content:center;margin-right:6px;flex-shrink:0;transition:all .15s ease}.btn-mobile-back:hover{background:var(--bg-card);color:var(--cyan-neon)}.mobile-nav-bar{display:none}@media (max-width: 850px){.app-chat-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative;background:var(--bg-deep)}.app-chat-shell.has-active .chat-sidebar-rail{display:none!important}.app-chat-shell.has-active .chat-main-container{display:flex!important;flex:1;height:100vh;height:100dvh;width:100%;min-height:0}.app-chat-shell.has-active .mobile-nav-bar{display:none!important}.app-chat-shell:not(.has-active).mobile-view-chats .chat-sidebar-rail{display:flex!important;flex:1;width:100%;height:calc(100vh - 62px);height:calc(100dvh - 62px);min-height:0;overflow-y:auto}.app-chat-shell:not(.has-active).mobile-view-chats .chat-main-container{display:none!important}.app-chat-shell:not(.has-active).mobile-view-friends .chat-sidebar-rail{display:none!important}.app-chat-shell:not(.has-active).mobile-view-friends .chat-main-container{display:flex!important;flex:1;width:100%;height:calc(100vh - 62px);height:calc(100dvh - 62px);min-height:0;overflow-y:auto}.mobile-nav-bar{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--bg-card);border-top:1px solid var(--border-light);box-shadow:0 -4px 20px #00000014;z-index:999;align-items:center;justify-content:space-around;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;flex:1;padding:6px 0;transition:all .15s ease;border-radius:8px}.mobile-nav-btn:active{transform:scale(.96)}.mobile-nav-btn.active{color:var(--cyan-neon);font-weight:600}.mobile-nav-btn.active svg{color:var(--cyan-neon);filter:drop-shadow(0 0 6px rgba(0,242,254,.4))}.btn-mobile-back{display:flex!important}}.chat-sidebar-rail{background:var(--bg-primary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:0;position:relative;z-index:10}.sidebar-brand-header{padding:16px 18px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;gap:10px}.brand-logo-area{display:flex;align-items:center;gap:12px}.brand-shield-glow{width:38px;height:38px;border-radius:var(--radius-sm);background:#00f2fe1f;border:1px solid var(--border-cyan);color:var(--cyan-neon);display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #00f2fe26}.brand-app-name{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em}.brand-tagline{display:block;font-size:11px;font-family:var(--font-mono);color:var(--text-dim)}.sidebar-security-alert{margin:12px 14px 4px;padding:10px 12px;background:var(--amber-dim);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);display:flex;gap:10px;align-items:flex-start}.alert-icon-svg{color:var(--amber-alert);flex-shrink:0;margin-top:2px}.alert-content strong{display:block;font-size:12.5px;color:var(--amber-alert)}.alert-content p{font-size:11.5px;color:var(--text-muted);line-height:1.4;margin-top:2px}.conversation-container{flex:1;display:flex;flex-direction:column;min-height:0}.conv-search-wrapper{padding:12px 14px 6px;position:relative}.conv-search-input-group{position:relative;display:flex;align-items:center}.search-icon-inside{position:absolute;left:12px;color:var(--text-dim);pointer-events:none}.search-box{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:9px 34px 9px 36px;font-size:13.5px;color:var(--text-main);transition:all .2s ease}.search-box:focus{border-color:var(--cyan-neon);box-shadow:0 0 0 2px #00f2fe26;background:var(--bg-card)}.search-box::placeholder{color:var(--text-dim)}.search-clear-btn{position:absolute;right:10px;background:transparent;color:var(--text-dim);padding:2px;display:flex}.search-clear-btn:hover{color:var(--text-main)}.search-results-floating{position:absolute;top:54px;left:14px;right:14px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);z-index:50;max-height:280px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-results-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-subtle);font-size:11.5px;color:var(--text-muted);text-transform:uppercase;font-weight:600}.search-results-list{list-style:none;padding:4px}.search-user-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.search-user-item:hover{background:var(--bg-card-hover)}.search-user-info{flex:1;min-width:0}.search-user-name{display:block;font-size:13.5px;font-weight:500}.search-user-status{display:block;font-size:11px;color:var(--text-dim)}.btn-chat-action{display:flex;align-items:center;gap:4px;background:#00f2fe26;color:var(--cyan-neon);padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;transition:all .15s ease}.btn-chat-action:hover{background:var(--cyan-neon);color:#071018}.search-empty-state{padding:16px;text-align:center;font-size:12.5px;color:var(--text-dim)}.conversation-list-scroll{flex:1;overflow-y:auto;padding:4px 8px}.conv-section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-weight:600}.conv-badge-tag{display:flex;align-items:center;gap:3px;color:var(--cyan-neon);font-size:10.5px}.conversations-empty{padding:40px 16px;text-align:center;color:var(--text-dim)}.conv-empty-icon{margin:0 auto 12px;width:50px;height:50px;border-radius:50%;background:#ffffff08;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.conv-empty-text{font-size:14px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.conv-empty-hint{font-size:12px;line-height:1.4}.conversations-ul{list-style:none;display:flex;flex-direction:column;gap:4px}.conversation-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.conversation-item:hover{background:var(--bg-surface)}.conversation-item.active{background:var(--bg-card);box-shadow:0 2px 10px #0003}.active-highlight-bar{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 4px 4px 0;background:var(--cyan-neon);box-shadow:0 0 10px var(--cyan-neon)}.user-avatar-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;position:relative;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.user-avatar-circle.mini{width:32px;height:32px;font-size:12px}.status-indicator-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-primary)}.status-indicator-dot.online{background:var(--emerald-neon);box-shadow:0 0 6px var(--emerald-neon)}.status-indicator-dot.offline{background:#64748b}.conv-item-content{flex:1;min-width:0}.conv-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.conv-item-name{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-time{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.conv-item-sub{display:flex;align-items:center;justify-content:space-between}.conv-sub-text{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-footer{padding:14px 16px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.user-profile-summary{display:flex;align-items:center;gap:10px;min-width:0}.user-text-info{min-width:0}.current-username{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-user-role{display:flex;align-items:center;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.footer-action-buttons{display:flex;align-items:center;gap:6px}.btn-footer-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-footer-icon:hover{background:var(--bg-card-hover);color:var(--text-main)}.btn-footer-icon.btn-logout:hover{background:var(--red-dim);color:var(--red-alert)}.chat-main-container{display:flex;flex-direction:column;min-height:0;background:var(--bg-deep);position:relative}.chat-empty-view{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.chat-empty-card{max-width:500px;text-align:center;background:var(--bg-card);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:40px 32px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000000f}.empty-shield-icon-wrapper{position:relative;display:inline-block;margin-bottom:20px}.shield-icon-glow{color:var(--cyan-neon);filter:drop-shadow(0 0 16px var(--cyan-glow))}.sparkle-accent{position:absolute;top:-8px;right:-8px;color:#fbbf24;animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}.chat-empty-card h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:12px}.empty-desc{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:22px}.empty-security-pills{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:24px}.sec-pill{font-size:12px;font-family:var(--font-mono);background:#ffffff0d;border:1px solid var(--border-subtle);padding:4px 12px;border-radius:var(--radius-full);color:var(--cyan-neon)}.empty-action-hint{font-size:13px;color:var(--text-dim)}.chat-window-layout{display:flex;flex-direction:column;height:100%;min-height:0}.chat-top-header{height:64px;padding:0 24px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;z-index:10}.chat-header-user{display:flex;align-items:center;gap:12px}.chat-header-info{display:flex;flex-direction:column}.chat-partner-name{font-size:15px;font-weight:600;color:var(--text-main)}.chat-partner-status{font-size:12px}.typing-text-header{color:var(--cyan-neon);font-weight:500}.typing-indicator-inline{display:inline-flex;margin-right:4px}.chat-header-actions{display:flex;align-items:center;gap:10px}.header-badge-btn{display:flex;align-items:center;gap:6px;background:#00f2fe14;border:1px solid var(--border-cyan);padding:6px 12px;border-radius:var(--radius-full);font-size:12.5px;font-weight:500;color:var(--text-main);transition:all .15s ease}.header-badge-btn:hover{background:#00f2fe29;box-shadow:0 0 12px var(--cyan-glow)}.header-icon-action-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.header-icon-action-btn:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.messages-area{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:16px}.conversation-start-welcome{margin:auto;max-width:440px;text-align:center;padding:32px 24px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 4px 20px #0000000d}.welcome-lock-badge{width:52px;height:52px;border-radius:50%;background:#0284c71a;color:var(--cyan-neon);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 4px 14px var(--cyan-glow)}.conversation-start-welcome h4{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-main)}.conversation-start-welcome p{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:18px}.quick-start-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.quick-start-buttons button{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:6px 12px;border-radius:var(--radius-full);font-size:12.5px;color:var(--text-muted);transition:all .15s ease}.quick-start-buttons button:hover{background:var(--bg-card-hover);color:var(--cyan-neon);border-color:var(--border-cyan)}.msg-group-row{display:flex;gap:10px;max-width:65%}.msg-group-row.mine{align-self:flex-end;flex-direction:row-reverse}.msg-group-row.theirs{align-self:flex-start}.msg-sender-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0;margin-top:4px}.msg-content-wrapper{display:flex;flex-direction:column}.msg-group-row.mine .msg-content-wrapper{align-items:flex-end}.msg-sender-name{font-size:11.5px;color:var(--text-dim);margin-bottom:3px;margin-left:4px}.msg-bubble{padding:10px 15px;border-radius:16px;font-size:14.5px;line-height:1.5;word-break:break-word;position:relative}.bubble-mine{background:var(--theme-mine-gradient, linear-gradient(135deg, #0284c7 0%, #0369a1 100%));color:#f8fafc;border-bottom-right-radius:4px;box-shadow:0 4px 14px var(--theme-mine-shadow, rgba(2, 132, 199, .25))}.bubble-theirs{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-main);border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000000d}.msg-footer-bar{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:4px}.msg-timestamp{font-size:10.5px;opacity:.75;font-family:var(--font-mono)}.msg-decrypt-error{display:flex;align-items:center;gap:6px;color:#fda4af;font-size:12.5px}.msg-security-row{margin-top:4px;display:flex;align-items:center}.msg-verify-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:500;transition:all .2s ease;cursor:pointer;border:1px solid transparent}.msg-verify-badge.is-valid{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.msg-verify-badge.is-valid:hover{background:#d1fae5;border-color:#6ee7b7;transform:translateY(-1px);box-shadow:0 2px 6px #10b98126}.msg-verify-badge.is-invalid{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.msg-verify-badge.is-invalid:hover{background:#fee2e2;border-color:#f87171;transform:translateY(-1px)}.inspect-callout{font-size:10px;font-weight:600;background:#10b981;color:#fff;padding:1.5px 6px;border-radius:var(--radius-full);margin-left:3px;letter-spacing:.2px}.msg-verify-badge.is-invalid .inspect-callout{background:#ef4444}.typing-bubble{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;padding:10px 16px;display:flex;align-items:center;gap:5px}.typing-bubble .dot{width:6px;height:6px;background:var(--cyan-neon);border-radius:50%;animation:typing-jump 1.4s infinite ease-in-out}.typing-bubble .dot:nth-child(2){animation-delay:.2s}.typing-bubble .dot:nth-child(3){animation-delay:.4s}@keyframes typing-jump{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.quick-emoji-drawer{padding:8px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.emoji-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.emoji-btn{font-size:20px;background:transparent;padding:4px 8px;border-radius:var(--radius-sm);transition:transform .1s ease}.emoji-btn:hover{transform:scale(1.3);background:#0000000d}.chat-composer-form{padding:14px 24px;background:var(--bg-card);border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-emoji-toggle{width:40px;height:40px;border-radius:50%;background:var(--bg-surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-emoji-toggle:hover,.btn-emoji-toggle.active{background:var(--bg-card);color:var(--cyan-neon)}.composer-input-wrapper{flex:1}.composer-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:12px 20px;font-size:14.5px;color:var(--text-main);transition:all .2s ease}.composer-input:focus{border-color:var(--cyan-neon);box-shadow:0 0 0 3px #00f2fe26;background:var(--bg-card)}.btn-composer-send{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#00f2fe,#0891b2);color:#071018;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-glow);transition:all .15s ease}.btn-composer-send:hover:not(:disabled){transform:scale(1.06);filter:brightness(1.15)}.btn-composer-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.crypto-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030712bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;animation:modal-fade-in .2s ease}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.crypto-modal-window{width:100%;max-width:660px;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.key-modal-window{max-width:580px}.crypto-modal-header{padding:18px 22px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.crypto-modal-title{display:flex;align-items:center;gap:12px}.crypto-modal-icon-badge{width:36px;height:36px;border-radius:var(--radius-sm);background:#00f2fe1f;color:var(--cyan-neon);display:flex;align-items:center;justify-content:center}.crypto-modal-title h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.crypto-modal-title p{font-size:12px;color:var(--text-muted)}.crypto-modal-header-actions{display:flex;align-items:center;gap:8px}.crypto-copy-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-subtle);font-size:12px;color:var(--text-muted);transition:all .15s ease}.crypto-copy-btn:hover{color:var(--text-main);border-color:var(--border-light)}.crypto-copy-btn.mini{padding:3px 8px;font-size:11px}.crypto-close-btn{width:32px;height:32px;border-radius:50%;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.crypto-close-btn:hover{background:var(--bg-card);color:var(--text-main)}.crypto-modal-tabs{display:flex;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);padding:0 16px}.crypto-tab-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;font-size:13.5px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s ease}.crypto-tab-btn:hover{color:var(--text-main)}.crypto-tab-btn.active{color:var(--cyan-neon);border-bottom-color:var(--cyan-neon)}.crypto-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:var(--bg-card)}.crypto-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:14px 16px}.crypto-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13.5px}.crypto-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);font-weight:500}.tag-cyan{background:#0284c71a;color:var(--cyan-neon)}.tag-purple{background:var(--purple-dim);color:var(--purple-neon)}.tag-slate{background:#0000000f;color:var(--text-muted)}.crypto-meta{font-size:12px;color:var(--text-muted)}.crypto-codeblock{font-family:var(--font-mono);font-size:13px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;word-break:break-all;white-space:pre-wrap;color:var(--text-main)}.plaintext-box{color:var(--cyan-dark);font-size:14px;font-weight:500}.crypto-param-grid{display:grid;grid-template-columns:1fr;gap:8px}.crypto-param-item{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;background:var(--bg-card);border:1px solid var(--border-subtle);padding:6px 10px;border-radius:6px}.crypto-param-item label{color:var(--text-muted);white-space:nowrap}.crypto-param-item code{font-family:var(--font-mono);color:var(--cyan-dark);font-weight:600;font-size:12px;word-break:break-all}.crypto-hint{font-size:12px;color:var(--text-muted);line-height:1.4;margin-bottom:8px}.crypto-chunks-preview{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crypto-chunk-chip{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 8px;font-size:11px;display:flex;gap:6px;font-family:var(--font-mono)}.chunk-label{color:var(--purple-neon);font-weight:600}.crypto-chunk-more{font-size:11px;color:var(--text-dim)}.crypto-status-pill{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full)}.status-valid{background:var(--emerald-dim);color:var(--emerald-neon);border:1px solid rgba(16,185,129,.4)}.status-invalid{background:var(--red-dim);color:var(--red-alert);border:1px solid rgba(244,63,94,.4)}.crypto-signature-info{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.crypto-math-formula{font-size:11.5px;background:var(--bg-card);border:1px solid var(--border-subtle);padding:6px 10px;border-radius:6px;color:var(--text-muted)}.crypto-math-formula code{font-family:var(--font-mono);color:var(--text-main)}.crypto-tamper-lab{display:flex;flex-direction:column;gap:16px}.tamper-intro-box{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md);padding:14px}.tamper-intro-box h4{font-size:14px;color:var(--amber-alert);margin-bottom:4px}.tamper-intro-box p{font-size:12.5px;color:var(--text-muted);line-height:1.5}.tamper-input-area{display:flex;flex-direction:column;gap:6px}.tamper-reset-btn{background:transparent;color:var(--cyan-neon);font-size:12px;display:flex;align-items:center;gap:4px}.tamper-reset-btn:hover{text-decoration:underline}.tamper-textarea{width:100%;background:var(--bg-card);border:1px solid var(--border-cyan);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-main);font-size:14px;resize:vertical;line-height:1.4}.tamper-textarea:focus{box-shadow:0 0 0 2px var(--cyan-glow)}.btn-tamper-run{background:linear-gradient(135deg,#00f2fe,#0284c7);color:#05141f;font-weight:600;font-size:13.5px;padding:10px 16px;border-radius:var(--radius-md);transition:all .15s ease;width:100%}.btn-tamper-run:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.tamper-result-box{display:flex;gap:14px;padding:14px;border-radius:var(--radius-md);line-height:1.4}.tamper-result-box.is-valid{background:var(--emerald-dim);border:1px solid rgba(16,185,129,.4);color:#a7f3d0}.tamper-result-box.is-forged{background:var(--red-dim);border:1px solid rgba(244,63,94,.4);color:#fecdd3}.tamper-result-icon{flex-shrink:0}.tamper-result-box h5{font-size:14px;font-weight:600;margin-bottom:4px}.tamper-result-box p{font-size:12.5px;opacity:.9}.tamper-meta-hashes{margin-top:8px;font-size:11px}.tamper-meta-hashes code{font-family:var(--font-mono);background:#0000004d;padding:2px 6px;border-radius:4px}.msg-quoted-box{margin-bottom:8px;padding:6px 10px;background:#00000040;border-left:3px solid var(--cyan-neon);border-radius:4px 8px 8px 4px;font-size:12px;cursor:pointer;transition:all .15s ease}.msg-quoted-box:hover{background:#0006;filter:brightness(1.15)}.quote-sender-line{display:flex;align-items:center;font-weight:600;color:var(--cyan-neon);font-size:11.5px;margin-bottom:2px}.quote-snippet-line{color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;font-size:11.5px}.msg-action-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:500;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-light);transition:all .15s ease;margin-right:6px;cursor:pointer}.msg-action-chip:hover{background:#0284c714;color:var(--cyan-neon);border-color:var(--border-cyan)}.msg-highlight-pulse{animation:pulse-reply-highlight 1.8s ease;border-radius:12px}@keyframes pulse-reply-highlight{0%{background:#00f2fe59;box-shadow:0 0 25px var(--cyan-glow)}to{background:transparent;box-shadow:none}}.composer-reply-bar{padding:8px 24px;background:#121a2af2;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slide-up-reply .2s ease}@keyframes slide-up-reply{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reply-bar-indicator{position:absolute;left:12px;top:8px;bottom:8px;width:3px;background:var(--cyan-neon);border-radius:2px}.reply-bar-content{flex:1;min-width:0;display:flex;flex-direction:column}.reply-bar-title{display:flex;align-items:center;font-size:12px;color:var(--text-main);margin-bottom:2px}.reply-bar-title strong{margin-left:4px;color:var(--cyan-neon)}.reply-bar-snippet{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.reply-bar-close{width:26px;height:26px;border-radius:50%;background:#ffffff0f;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.reply-bar-close:hover{background:#ffffff26;color:var(--text-main)}.theme-modal-window{max-width:560px}.theme-grid-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}@media (max-width: 500px){.theme-grid-selection{grid-template-columns:repeat(2,1fr)}}.theme-card-option{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:all .2s ease}.theme-card-option:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-2px)}.theme-card-option.selected{background:var(--bg-card-active);border-color:var(--cyan-neon);box-shadow:0 0 16px var(--cyan-glow)}.theme-circle-preview{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000004d}.theme-name-label{font-size:13px;font-weight:600;color:var(--text-main)}.theme-preview-card{background:#090d16;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px}.theme-preview-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.theme-preview-content{display:flex;flex-direction:column;gap:12px}.preview-bubble{padding:10px 14px;border-radius:14px 14px 3px;font-size:13.5px;max-width:80%;align-self:flex-end;color:#fff}.preview-action-row{display:flex;align-items:center;gap:10px}.preview-btn{padding:6px 14px;border-radius:var(--radius-sm);color:#071018;font-size:12.5px;font-weight:600}.preview-badge{font-size:11.5px;font-weight:500;padding:3px 8px;border-radius:var(--radius-full);border:1px solid;background:#ffffff0d}.crypto-hash-lab{display:flex;flex-direction:column;gap:16px}.hash-role-callout{background:#00f2fe14;border:1px solid var(--border-cyan);border-radius:var(--radius-md);padding:14px;font-size:12.5px;line-height:1.5;color:var(--text-muted)}.hash-role-callout strong{color:var(--text-main)}.hash-test-input{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-main);font-size:13.5px;transition:all .15s ease}.hash-test-input:focus{border-color:var(--cyan-neon);box-shadow:0 0 0 2px var(--cyan-glow)}.btn-run-benchmark{background:var(--theme-gradient, linear-gradient(135deg, #00f2fe 0%, #0891b2 100%));color:#071018;font-size:12px;font-weight:600;padding:6px 14px;border-radius:var(--radius-full);transition:all .15s ease}.btn-run-benchmark:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.btn-run-benchmark:disabled{opacity:.6;cursor:not-allowed}.benchmark-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.benchmark-stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:4px;text-align:center}.stat-title{font-size:11.5px;color:var(--text-dim);text-transform:uppercase;font-weight:600}.stat-value{font-size:20px;font-weight:700;font-family:var(--font-mono)}.stat-sub{font-size:10.5px;color:var(--text-muted)}.quick-preset-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:4px 10px;border-radius:var(--radius-sm);font-size:11.5px;font-family:var(--font-mono);color:var(--text-muted);transition:all .15s ease}.quick-preset-btn:hover{background:var(--bg-card);color:var(--cyan-neon);border-color:var(--border-cyan)}.key-action-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crypto-btn-sm{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-main);transition:all .15s ease;cursor:pointer}.crypto-btn-sm:hover{background:#ffffff1f;border-color:var(--border-light)}.crypto-btn-sm.highlight{background:#00f2fe1f;border-color:var(--border-cyan);color:var(--cyan-neon)}.crypto-btn-sm.primary{background:var(--theme-gradient, linear-gradient(135deg, #00f2fe 0%, #0891b2 100%));color:#05141f;font-weight:600;border:none}.crypto-link-btn{background:none;border:none;color:var(--cyan-neon);font-size:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:4px 0}.crypto-link-btn:hover{text-decoration:underline}.import-textarea{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--font-mono);font-size:12px;color:var(--text-main);resize:vertical}.import-textarea:focus{border-color:var(--cyan-neon);outline:none}.crypto-alert-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:12.5px}.crypto-alert-banner.success{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#6ee7b7}.bench-grid-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 640px){.bench-grid-summary{grid-template-columns:repeat(2,1fr)}}.bench-metric-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px;text-align:center;display:flex;flex-direction:column;gap:4px}.bench-metric-title{font-size:11px;color:var(--text-dim);text-transform:uppercase;font-weight:600}.bench-metric-val{font-size:18px;font-weight:700;font-family:var(--font-mono);color:var(--cyan-neon)}.bench-metric-sub{font-size:10.5px;color:var(--text-muted)}.overhead-breakdown-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.overhead-chip{padding:4px 10px;border-radius:var(--radius-sm);font-size:11.5px;font-family:var(--font-mono);display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--border-subtle)}.overhead-dot{width:8px;height:8px;border-radius:50%}.crypto-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.crypto-eval-table{width:100%;border-collapse:collapse;font-size:12.5px}.crypto-eval-table th{background:#ffffff0a;color:var(--text-muted);text-align:left;padding:9px 12px;border-bottom:1px solid var(--border-subtle);font-weight:600}.crypto-eval-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-main);line-height:1.4}.crypto-eval-table tr:last-child td{border-bottom:none}.crypto-eval-table tr:hover td{background:#ffffff05}.friend-request-panel{width:100%;max-width:680px;margin-top:18px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;gap:14px}.friend-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--border-subtle);padding-bottom:12px}.friend-panel-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text-main)}.friend-panel-tabs{display:flex;align-items:center;gap:6px;background:var(--bg-surface);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.friend-tab-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500;transition:all .2s ease}.friend-tab-btn:hover{color:var(--text-main);background:#ffffff0d}.friend-tab-btn.active{background:var(--cyan-dark);color:#fff;box-shadow:0 2px 8px #0891b266}.badge-count-red{background:var(--red-alert);color:#fff;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;min-width:16px;text-align:center}.friend-panel-body{max-height:320px;overflow-y:auto;padding-right:4px}.friend-requests-list{display:flex;flex-direction:column;gap:10px}.friend-request-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 14px;transition:all .2s ease}.friend-request-card:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.friend-card-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.friend-card-name-row{display:flex;align-items:center;gap:8px}.friend-name{font-weight:600;font-size:14px;color:var(--text-main)}.friend-time{font-size:11px;color:var(--text-dim)}.friend-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-tag-e2e{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--emerald-neon);margin-top:2px}.friend-card-actions{display:flex;align-items:center;gap:8px}.btn-friend-accept{display:inline-flex;align-items:center;gap:5px;background:#059669;color:#fff;border-radius:var(--radius-sm);padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s ease}.btn-friend-accept:hover{background:#10b981;box-shadow:0 0 10px #10b98159}.btn-friend-reject{display:inline-flex;align-items:center;gap:5px;background:#ffffff14;color:var(--text-muted);border-radius:var(--radius-sm);padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s ease}.btn-friend-reject:hover{background:#f43f5e33;color:var(--red-alert)}.btn-chat-with-friend{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border-cyan);color:var(--cyan-neon);padding:6px 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;transition:all .15s ease}.btn-chat-with-friend:hover{background:var(--cyan-neon);color:var(--bg-deep)}.friend-card-pending-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--amber-alert);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);padding:4px 10px;border-radius:var(--radius-sm)}.friend-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 16px;gap:6px;color:var(--text-muted);font-size:13.5px}.friend-empty-state .sub{font-size:11.5px;color:var(--text-dim)}.friend-request-toast{background:var(--bg-surface);border:1px solid var(--border-cyan);color:var(--cyan-neon);border-radius:var(--radius-sm);padding:8px 12px;font-size:12.5px;text-align:center;box-shadow:0 4px 12px #0000004d;animation:slide-up-reply .2s ease}.btn-add-friend{background:#00f2fe26!important;color:var(--cyan-neon)!important;border:1px solid var(--border-cyan)!important}.btn-add-friend:hover{background:var(--cyan-neon)!important;color:var(--bg-deep)!important}.btn-is-friend{background:#10b98126!important;color:var(--emerald-neon)!important;border:1px solid var(--border-emerald)!important}.btn-accept-mini{background:#059669!important;color:#fff!important}.badge-request-sent{font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);background:#f59e0b26;color:var(--amber-alert);border:1px solid rgba(245,158,11,.3)}.chat-empty-view-wrapper{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-deep);overflow-y:auto}.friend-hub-main-container{width:100%;max-width:760px;display:flex;flex-direction:column;gap:16px}.friend-hub-top-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:0 10px 30px #0000000d}.friend-hub-brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.friend-hub-brand-icon{width:48px;height:48px;border-radius:var(--radius-md);background:#0284c71a;border:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:center;flex-shrink:0}.friend-hub-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-main)}.friend-hub-desc{font-size:12.5px;color:var(--text-muted);margin-top:2px}.btn-create-group-hub{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--cyan-dark),#0369a1);color:#fff;border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 4px 12px #0891b259;transition:all .2s ease;white-space:nowrap}.btn-create-group-hub:hover{background:linear-gradient(135deg,var(--cyan-neon),var(--cyan-dark));color:var(--bg-deep);transform:translateY(-1px)}.friend-hub-nav-tabs{display:flex;align-items:center;gap:6px;background:var(--bg-surface);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);overflow-x:auto}.hub-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.hub-tab-btn:hover{color:var(--text-main);background:#0000000d}.hub-tab-btn.active{background:var(--cyan-dark);color:#fff;box-shadow:0 2px 10px #0891b266}.friend-hub-content-box{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:0 10px 30px #0000000d;min-height:380px}.hub-list-flow{display:flex;flex-direction:column;gap:12px}.hub-list-title{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.hub-user-item-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 16px;transition:all .2s ease}.hub-user-item-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px)}.hub-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hub-name-row{display:flex;align-items:center;gap:8px}.hub-username{font-size:14.5px;font-weight:600;color:var(--text-main)}.hub-time{font-size:11px;color:var(--text-dim)}.hub-email{font-size:12.5px;color:var(--text-muted)}.hub-sec-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--emerald-neon)}.hub-card-actions{display:flex;align-items:center;gap:8px}.btn-friend-add-large{display:inline-flex;align-items:center;gap:6px;background:#00f2fe26;border:1px solid var(--border-cyan);color:var(--cyan-neon);padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:all .15s ease}.btn-friend-add-large:hover{background:var(--cyan-neon);color:var(--bg-deep);box-shadow:0 0 12px var(--cyan-glow)}.hub-search-box-large{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border-cyan);padding:10px 16px;border-radius:var(--radius-md);margin-bottom:12px}.hub-search-box-large input{flex:1;background:transparent;color:var(--text-main);font-size:14px}.hub-search-results-area{display:flex;flex-direction:column;gap:10px}.profile-modal-window{max-width:580px}.profile-banner-card{display:flex;align-items:center;gap:18px;padding:18px 20px;background:linear-gradient(135deg,#0891b226,#a855f71a);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:16px}.profile-large-avatar{width:64px!important;height:64px!important;font-size:24px!important}.profile-username{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-main)}.profile-email-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);margin-top:3px}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.profile-stat-box{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px 14px}.stat-data{display:flex;flex-direction:column}.stat-number{font-size:15px;font-weight:700;color:var(--text-main);font-family:var(--font-mono)}.stat-label{font-size:11.5px;color:var(--text-dim)}.profile-key-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px;margin-bottom:14px}.profile-key-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.profile-key-desc{font-size:12px;color:var(--text-dim);margin-bottom:8px}.profile-key-preview{background:#06090e;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-mono);font-size:11.5px;color:var(--cyan-neon);white-space:pre-line}.profile-device-status{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:12px}.profile-device-status.secure{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#6ee7b7}.profile-device-status.warning{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#fcd34d}.create-group-window{max-width:520px}.group-input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.group-input-group label{font-size:13px;font-weight:600;color:var(--text-main)}.group-name-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;color:var(--text-main);transition:all .2s ease}.group-name-input:focus{border-color:var(--cyan-neon);box-shadow:0 0 10px var(--cyan-glow)}.group-members-section{display:flex;flex-direction:column;gap:8px}.group-friend-search-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 12px}.group-friend-search-wrap input{flex:1;background:transparent;color:var(--text-main);font-size:13px}.group-friends-picker-list{max-height:220px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);padding:6px;display:flex;flex-direction:column;gap:4px}.group-friend-choice-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.group-friend-choice-item:hover{background:#ffffff0d}.group-friend-choice-item.selected{background:#00f2fe1a;border:1px solid var(--border-cyan)}.choice-info{flex:1;min-width:0;display:flex;flex-direction:column}.choice-name{font-size:13.5px;font-weight:600;color:var(--text-main)}.choice-email{font-size:11.5px;color:var(--text-muted)}.checkbox-custom{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:transparent}.checkbox-custom.checked{background:var(--cyan-dark);border-color:var(--cyan-neon);color:#fff}.btn-mini-add-group{display:inline-flex;align-items:center;gap:4px;background:#00f2fe1f;border:1px solid var(--border-cyan);color:var(--cyan-neon);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-mini-add-group:hover{background:var(--cyan-neon);color:var(--bg-deep)}.clickable-profile{cursor:pointer;border-radius:var(--radius-sm);padding:4px;transition:background .15s ease}.clickable-profile:hover{background:#ffffff0d}.crypto-modal-footer{padding:16px 22px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:12px}.btn-modal-secondary{padding:9px 18px;border-radius:var(--radius-sm);background:#ffffff14;color:var(--text-muted);font-size:13.5px;font-weight:500;border:1px solid var(--border-subtle);transition:all .2s ease;cursor:pointer}.btn-modal-secondary:hover{background:#ffffff26;color:var(--text-main);border-color:var(--border-light)}.btn-modal-primary{padding:9px 20px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--cyan-dark),#0284c7);color:#fff;font-size:13.5px;font-weight:600;border:none;box-shadow:0 4px 14px #0891b266;transition:all .2s ease;cursor:pointer}.btn-modal-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--cyan-neon),var(--cyan-dark));color:var(--bg-deep);transform:translateY(-1px);box-shadow:0 6px 18px var(--cyan-glow)}.btn-modal-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.msg-attachments-container{display:flex;flex-direction:column;gap:8px;margin-top:6px}.msg-attachment-item{max-width:100%}.attachment-image-wrap{border-radius:var(--radius-md);overflow:hidden;max-width:320px;border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;transition:transform .15s ease}.attachment-image-wrap:hover{transform:scale(1.02)}.attachment-rendered-img{width:100%;max-height:240px;object-fit:cover;display:block}.attachment-file-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-main);text-decoration:none;transition:all .2s ease;max-width:280px}.attachment-file-card:hover{background:var(--bg-card-hover);border-color:var(--cyan-neon)}.file-icon-badge{width:34px;height:34px;border-radius:6px;background:#0284c71f;color:var(--cyan-neon);display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-info-text{flex:1;min-width:0;display:flex;flex-direction:column}.file-name-text{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main)}.file-size-text{font-size:11px;color:var(--text-muted)}.file-download-icon{color:var(--text-muted);flex-shrink:0}.composer-attachments-preview{padding:8px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:10px;overflow-x:auto}.preview-attachment-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px 10px 4px 6px;font-size:12px;color:var(--text-main);max-width:220px}.preview-mini-thumb{width:22px;height:22px;border-radius:50%;object-fit:cover}.preview-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.btn-remove-attachment{width:18px;height:18px;border-radius:50%;background:#00000014;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease;cursor:pointer}.btn-remove-attachment:hover{background:var(--red-dim);color:var(--red-alert)}@media (max-width: 768px){html,body{overflow-x:hidden;touch-action:pan-y}.friend-hub-main-container{padding:12px 10px 80px!important;gap:12px!important;max-width:100%!important}.friend-hub-top-card{padding:14px 12px!important;border-radius:14px!important}.friend-hub-brand-row{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.btn-create-group-hub{width:100%!important;justify-content:center!important;padding:8px 12px!important}.friend-hub-nav-tabs{padding:3px!important;gap:4px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.friend-hub-tab-btn{padding:6px 10px!important;font-size:12px!important;white-space:nowrap!important;flex-shrink:0}.friend-hub-content-box{padding:14px 10px!important;border-radius:14px!important}.hub-user-item-card{flex-wrap:wrap!important;gap:10px!important;padding:12px 10px!important}.hub-card-actions{width:100%!important;justify-content:flex-end!important;gap:8px!important;border-top:1px dashed var(--border-subtle);padding-top:8px;margin-top:4px}.btn-chat-with-friend,.btn-friend-accept,.btn-friend-reject,.badge-request-sent{padding:6px 12px!important;font-size:12px!important}.chat-top-header{padding:8px 10px!important}.chat-partner-name{font-size:14px!important;max-width:130px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chat-header-actions{gap:4px!important}.chat-btn-header-action{padding:5px 7px!important;font-size:11px!important}.chat-messages-scroll-area{padding:10px 8px!important}.chat-bubble-card{max-width:88%!important;font-size:14px!important;padding:8px 12px!important}.chat-bottom-input-bar{padding:6px 8px env(safe-area-inset-bottom,8px) 8px!important}.chat-input-textarea{font-size:15px!important;padding:8px 10px!important;min-height:38px!important}.crypto-modal-card,.profile-modal-card,.key-modal-card,.create-group-modal-card,.theme-modal-card,.backend-config-card{width:calc(100vw - 16px)!important;max-width:100%!important;max-height:90vh!important;max-height:90dvh!important;padding:16px 14px!important;margin:8px auto!important;border-radius:16px!important;overflow-y:auto!important}.auth-form-card{padding:24px 18px!important;border-radius:18px!important;width:100%!important}.auth-form-container{padding:20px 14px!important}}
