@font-face{font-family:primaryFont;src:url(/k/fonts/IRANSansX-Light.woff2) format("woff2");font-weight:400;font-style:normal}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #e8ecf2;--surface: #ffffff;--primary: #3390ec;--primary-hover: #2b7dd6;--text: #1a1a1a;--text-secondary: #707579;--text-hint: #a0a4a8;--bubble-mine: #effdde;--bubble-mine-border: #d6f0c2;--bubble-other: #ffffff;--bubble-other-border: #e0e0e0;--border: #e6e6e6;--danger: #e53935;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 2px 8px rgba(0,0,0,.1);--radius: 12px;--radius-sm: 8px;--header-h: 56px;--input-h: 56px;--max-width: 680px;font-family:primaryFont,-apple-system,BlinkMacSystemFont,sans-serif}html,body{height:100%;background:var(--bg);color:var(--text);font-size:15px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{height:100%}.app-shell{height:100%;max-width:var(--max-width);margin:0 auto;background:var(--surface);display:flex;flex-direction:column;position:relative;box-shadow:0 0 40px #00000014}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.icon-btn:hover{background:#0000000d}.icon-btn:active{background:#00000014}.loading-dots{display:flex;gap:4px;align-items:center;justify-content:center;padding:16px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:dotPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.login-page{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8ecf2,#d4dce8);padding:24px}.login-card{background:var(--surface);border-radius:16px;padding:40px 32px;width:100%;max-width:360px;box-shadow:var(--shadow-md);text-align:center}.login-logo{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.login-title{font-size:22px;font-weight:700;margin-bottom:4px}.login-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:12px}.login-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:15px;outline:none;transition:border-color .2s;font-family:inherit}.login-input:focus{border-color:var(--primary)}.login-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:13px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.login-btn:hover{background:var(--primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fef2f2;color:var(--danger);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;text-align:left}.conv-page{height:100%;display:flex;flex-direction:column}.conv-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.conv-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.conv-header-title{font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text)}.conv-header-title svg{color:var(--primary)}.conv-search{position:relative}.conv-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-hint);pointer-events:none}.conv-search-input{width:100%;border:none;background:#f0f2f5;border-radius:20px;padding:10px 14px 10px 40px;font-size:14px;outline:none;font-family:inherit}.conv-search-input:focus{background:#e8eaed}.conv-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.conv-loading,.conv-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:14px}.conv-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f5f5f5}.conv-item:hover{background:#f5f7fa}.conv-item:active{background:#edf0f4}.conv-avatar{position:relative;flex-shrink:0}.conv-avatar img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#e0e0e0}.conv-status-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#ccc;border:2px solid var(--surface)}.conv-status-dot.online{background:#4caf50}.conv-info{flex:1;min-width:0}.conv-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-last-msg{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.conv-badge{background:var(--primary);color:#fff;font-size:12px;font-weight:600;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;flex-shrink:0}.chat-page{height:100%;display:flex;flex-direction:column;background:var(--bg)}.chat-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border);height:var(--header-h);flex-shrink:0;z-index:10}.chat-header-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#e0e0e0}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-status{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 12px;display:flex;flex-direction:column;gap:2px;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c8d1db' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") var(--bg)}.chat-loading,.chat-loading-more{display:flex;align-items:center;justify-content:center}.chat-loading{flex:1}.chat-date-divider{text-align:center;margin:12px 0}.chat-date-divider span{background:#0000000f;color:var(--text-secondary);font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px}.msg-row{display:flex;align-items:flex-end;gap:6px;max-width:85%;animation:msgIn .2s ease-out}.msg-row.msg-mine{align-self:flex-end}.msg-row.msg-other{align-self:flex-start}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.msg-bubble{position:relative;padding:7px 11px 5px;border-radius:var(--radius);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;box-shadow:0 1px 1px #0000000f}.bubble-mine{background:var(--bubble-mine);border-bottom-right-radius:4px}.bubble-other{background:var(--bubble-other);border-bottom-left-radius:4px}.bubble-sending{opacity:.7}.bubble-failed{border:1px solid var(--danger)}.msg-sender-name{font-size:13px;font-weight:600;color:var(--primary);margin-bottom:2px}.msg-text{font-size:15px;line-height:1.4;white-space:pre-wrap}.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px}.msg-time{font-size:11px;color:var(--text-hint)}.msg-status{color:var(--primary);display:flex;align-items:center}.msg-failed-icon{color:var(--danger)}.msg-copy-btn{position:absolute;top:4px;right:4px;background:#ffffffe6;border:none;border-radius:6px;padding:4px;cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.msg-bubble:hover .msg-copy-btn,.msg-copy-btn.visible{opacity:1}.msg-image{margin:-4px -4px 4px;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer}.msg-image img{display:block;max-width:280px;max-height:300px;width:100%;object-fit:cover;border-radius:var(--radius-sm)}.msg-voice{display:flex;align-items:center;gap:8px;min-width:180px;padding:4px 0}.voice-play-btn{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.voice-track{flex:1;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.voice-progress{height:100%;background:var(--primary);border-radius:2px;transition:width .1s linear}.voice-duration{font-size:12px;color:var(--text-secondary);flex-shrink:0}.typing-indicator{align-self:flex-start;background:var(--bubble-other);border-radius:var(--radius);border-bottom-left-radius:4px;padding:10px 16px;box-shadow:0 1px 1px #0000000f}.typing-dots{display:flex;gap:4px}.typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--text-hint);animation:typingBounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-input{display:flex;align-items:flex-end;gap:4px;padding:8px 10px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.chat-input.recording{background:#fef2f2}.chat-textarea{flex:1;border:none;background:#f0f2f5;border-radius:20px;padding:10px 16px;font-size:15px;line-height:1.4;resize:none;outline:none;max-height:120px;font-family:inherit}.chat-textarea:focus{background:#e8eaed}.send-btn{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s}.send-btn:hover{background:var(--primary-hover)}.send-btn:active{transform:scale(.95)}.mic-btn{color:var(--text-secondary)}.rec-indicator{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:recBlink 1s ease-in-out infinite}@keyframes recBlink{0%,to{opacity:1}50%{opacity:.3}}.rec-time{font-size:15px;font-weight:500;color:var(--danger)}.cancel-rec{color:var(--danger)}.image-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:100;display:flex;align-items:center;justify-content:center;cursor:pointer}.image-preview-close{position:absolute;top:16px;right:16px;background:#ffffff26;border:none;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;cursor:default}@media (min-width: 720px){.app-shell{border-radius:12px;overflow:hidden;height:96vh;margin-top:2vh}.msg-image img{max-width:380px}}@media (max-width: 719px){:root{--max-width: 100%}.app-shell{box-shadow:none}}@supports (padding: env(safe-area-inset-bottom)){.chat-input{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.conv-list{padding-bottom:env(safe-area-inset-bottom)}}.msg-file{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0000000a;border-radius:var(--radius-sm);text-decoration:none;color:var(--primary);font-size:14px;font-weight:500;margin:4px 0}.msg-file:hover{background:#00000014}.msg-text a{color:var(--primary);text-decoration:none;word-break:break-all}.msg-text a:hover{text-decoration:underline}.msg-text-wrapper{position:relative}.msg-text-collapsed{-webkit-mask-image:linear-gradient(to bottom,black 70%,transparent 100%);mask-image:linear-gradient(to bottom,black 70%,transparent 100%)}.msg-show-more{background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:2px 0;font-family:inherit}.msg-show-more:hover{text-decoration:underline}.msg-video{margin:-4px -4px 4px;border-radius:var(--radius-sm);overflow:hidden}.msg-video video{display:block;max-width:320px;max-height:300px;width:100%;border-radius:var(--radius-sm);background:#000}.msg-video{position:relative}.video-fullscreen-btn{position:absolute;top:8px;right:8px;background:#00000080;border:none;color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.video-fullscreen-btn:hover{background:#000000b3}
