@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap";:root{--bg: #eef1f4;--panel: #f7f8fa;--surface: #ffffff;--surface-soft: #f3f5f7;--border: #e3e8ef;--text: #121826;--muted: #6b7280;--accent: #2dc786;--accent-strong: #1aa46b;--chat-bg: #e8ecef;--bubble-in: #ffffff;--bubble-out: #dff3d5;--shadow: 0 1px 2px rgba(15, 23, 42, .05)}:root[data-theme=dark]{--bg: #0f172a;--panel: #111827;--surface: #1f2937;--surface-soft: #111b2e;--border: #273246;--text: #e5e7eb;--muted: #94a3b8;--accent: #24bf84;--accent-strong: #1d9a6b;--chat-bg: #111827;--bubble-in: #1f5a43;--bubble-out: #20684c;--shadow: none}*{box-sizing:border-box}html,body{height:100%;margin:0;min-height:100vh;font-family:Instrument Sans,Inter,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}#root{height:100%;min-height:100vh}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:#e9eaec}.auth-card{width:min(390px,100%);border:1px solid #e8eaee;border-radius:14px;background:#fff;box-shadow:0 18px 44px #0f172a1f;padding:8px 0 2px}.auth-card-header{display:grid;justify-items:center;gap:2px;text-align:center}.auth-card-header p{margin:0;color:#8b93a3;font-size:13px}.auth-card-header h2{margin:0;font-size:35px;line-height:1.05;letter-spacing:-.02em}.auth-card-body{display:grid;gap:16px}.auth-logo{width:62px;height:62px;margin:0 auto}.auth-form{display:grid;gap:13px}.auth-input .MuiOutlinedInput-root{border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a14;transition:box-shadow .12s ease,border-color .12s ease}.auth-input .MuiOutlinedInput-notchedOutline{border-color:#d2d8e0}.auth-input .MuiInputBase-input{padding:12px 14px;font-size:14px}.auth-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#c3cbd8}.auth-input .MuiOutlinedInput-root.Mui-focused{box-shadow:0 10px 24px #58c7ff33}.auth-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#7a8cff}.auth-submit-btn{margin-top:2px;min-height:40px;border-radius:999px!important;border:0!important;color:#fff!important;font-weight:700!important;letter-spacing:.03em;background:linear-gradient(90deg,#58c7ff,#8d56ff 55%,#c442f6)!important;box-shadow:0 8px 20px #8d56ff42}.auth-submit-btn:hover{filter:brightness(.98)}.auth-mode-btn{text-transform:none!important;color:#8d93a1!important;font-weight:500!important}.offline-banner,.error-banner{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid #f4d27f;background:#fff8e5;color:#7a5600;box-shadow:var(--shadow)}.error-banner{top:62px;border-color:#f2a9a3;background:#feeceb;color:#8d221c}.app-layout{height:100vh;min-height:100vh;display:grid;grid-template-columns:84px 370px 1fr;gap:0;overflow:hidden}.sidebar{height:100vh;border-right:1px solid var(--border);background:var(--panel);display:grid;grid-template-rows:auto auto 1fr;gap:10px;padding:14px 10px}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 6px}.sidebar-top strong{display:block;font-size:24px;line-height:1.1}.sidebar-top p{margin:3px 0 0;color:var(--muted);font-size:15px}.top-actions{display:flex;gap:6px}.quick-form{display:grid;grid-template-columns:1fr;gap:0;align-items:center}.chat-list{display:flex;flex-direction:column;gap:8px;padding-right:4px;min-height:0;overflow:auto;align-items:stretch}.chat-item{width:100%;min-height:72px;height:auto;flex:0 0 auto;border:1px solid transparent;border-radius:14px;background:transparent;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;cursor:pointer;color:inherit;transition:background-color .15s ease,border-color .15s ease}.chat-item:hover{background:color-mix(in srgb,var(--surface) 82%,transparent)}.chat-item.active{background:var(--accent);border-color:var(--accent-strong);color:#fff}.chat-item.active time,.chat-item.active p{color:#ffffffd1}.chat-item-main{min-width:0}.chat-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-item-head strong{font-size:16px;font-weight:700}.chat-item-head time{font-size:12px;color:var(--muted)}.chat-item-main p{margin:3px 0 0;color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-view{height:100vh;display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(circle at 16% 18%,color-mix(in srgb,#fff 45%,transparent),transparent 32%),radial-gradient(circle at 88% 78%,color-mix(in srgb,#fff 35%,transparent),transparent 35%),var(--chat-bg)}.chat-header{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.chat-header-main{display:flex;align-items:center;gap:10px}.chat-header-main h3{margin:0;font-size:20px;line-height:1.15;font-weight:700}.chat-header-main p{margin:2px 0 0;font-size:14px;color:var(--muted)}.chat-header-actions{display:flex;gap:6px}.chat-toolbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent)}.chat-toolbar>:first-child{flex:1 1 auto}.message-list{display:grid;gap:8px;padding:14px 16px;min-height:0;overflow:auto;flex:1 1 auto}.message-list-wrap{position:relative;min-height:0;flex:1 1 auto}.empty-state{margin:auto;width:min(360px,calc(100% - 32px));border:1px dashed var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 90%,transparent);padding:20px 16px;text-align:center;color:var(--muted);display:grid;justify-items:center;gap:8px}.empty-state svg{width:22px;height:22px;opacity:.75}.empty-state strong{color:var(--text);font-size:14px;font-weight:700}.empty-state p{margin:0;font-size:13px;line-height:1.35}.empty-state.small{margin:12px auto;width:calc(100% - 8px);padding:16px 12px}.sticky-date{position:sticky;top:0;margin:8px auto;width:fit-content;padding:4px 10px;border-radius:999px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border)}.message-row{display:flex;margin-bottom:2px}.message-row.mine{justify-content:flex-end}.message-bubble{position:relative;max-width:min(700px,82%);border-radius:14px;background:var(--bubble-in);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding:6px 10px 5px;box-shadow:var(--shadow)}.message-bubble.mine{background:var(--bubble-out)}.message-bubble:after{content:"";position:absolute;bottom:0;left:-6px;width:10px;height:10px;background:var(--bubble-in);border-left:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);transform:skew(-30deg);border-bottom-left-radius:2px}.message-bubble.mine:after{left:auto;right:-6px;background:var(--bubble-out);border-left:none;border-right:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);transform:skew(30deg);border-bottom-left-radius:0;border-bottom-right-radius:2px}.message-bubble.highlight{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 72%,transparent)}.message-bubble strong{font-size:12px;color:#0d6be4}.message-bubble p{margin:0 0 2px;white-space:pre-wrap;font-size:15px;line-height:1.26}.message-bubble footer{display:flex;justify-content:flex-end;align-items:center;gap:6px;color:var(--muted);font-size:10px;line-height:1}.message-edited{opacity:.8}.message-bubble.mine footer{color:#5fad63}.message-bubble.reply-enabled{cursor:ew-resize}.message-reply-preview{margin:0 0 6px;padding:4px 8px;border-left:3px solid #cc7a2f;border-radius:8px;background:#cc7a2f1f;display:grid;gap:1px}.message-reply-preview b{font-size:12px;color:#cc7a2f;line-height:1.2}.message-reply-preview span{font-size:12px;color:color-mix(in srgb,var(--text) 82%,transparent);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-reactions{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px}.message-reaction-chip{border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);padding:1px 6px;display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--text)}.message-selected{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);border-radius:16px}.message-pinned .message-bubble{box-shadow:0 0 0 2px #f39c1247}.message-context-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.message-reaction-bar{position:fixed;display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 10px;box-shadow:0 12px 30px #0f172a2e}.message-reaction-option{border:none;background:transparent;cursor:pointer;font-size:30px;line-height:1;padding:0 2px}.message-context-menu{position:fixed;border:1px solid var(--border);background:#fff;border-radius:14px;box-shadow:0 16px 36px #0f172a33;min-width:240px;overflow:hidden;display:grid}.message-context-menu button{border:none;background:transparent;text-align:left;padding:10px 14px;font-size:17px;cursor:pointer}.message-context-menu button:hover{background:color-mix(in srgb,var(--accent) 12%,#fff)}.attachment-preview{display:flex;gap:6px;flex-wrap:wrap}.message-bubble.sticker-only{background:transparent!important;border:none!important;box-shadow:none!important;padding:0;max-width:180px}.message-bubble.sticker-only:after{display:none}.message-bubble.sticker-only strong{display:block;margin:0 0 4px 2px}.sticker-message{position:relative;width:148px;height:148px}.sticker-preview{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.sticker-preview img{width:148px;height:148px;object-fit:cover;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 95%,transparent)}.sticker-message img{width:148px;height:148px;object-fit:cover;border-radius:16px;display:block}.sticker-meta{position:absolute;right:6px;bottom:6px;display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#fff;text-shadow:0 1px 3px rgba(15,23,42,.65);opacity:0;pointer-events:none;transition:opacity .15s ease}.message-bubble.sticker-only:hover .sticker-meta{opacity:1}.sticker-meta time,.sticker-meta .message-status,.sticker-meta .message-status svg{color:#fff!important;stroke:#fff;fill:currentColor}.composer-wrap{border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:10px 12px;position:relative;flex:0 0 auto;margin-top:auto}.reply-banner{font-size:12px;color:var(--muted);margin-bottom:6px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.reply-banner-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-banner-main strong{color:var(--accent-strong)}.composer-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.composer-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.composer-input-wrap{position:relative}.composer-input-textarea .MuiOutlinedInput-root{padding-right:42px}.composer-emoji-inside{position:absolute!important;right:6px;bottom:6px;width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}.composer-send-btn{width:42px!important;height:42px!important;min-width:42px!important;border-radius:12px!important}.folder-rail{height:100vh;border-left:1px solid var(--border);background:var(--panel);padding:10px 8px;display:grid;align-content:start;justify-items:center;gap:8px}.folder-rail.left{border-left:none;border-right:1px solid var(--border)}.folder-rail-item{width:54px;height:54px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.folder-rail-item:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));color:var(--text)}.folder-rail-item.active{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent) 70%,var(--border));color:var(--accent-strong)}.modal-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:16px}.modal-list{display:grid;gap:8px}.modal-list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--surface) 80%,transparent)}.modal-list-item strong{display:block;font-size:14px}.modal-list-item p{margin:2px 0 0;font-size:12px;color:var(--muted)}.modal-empty{text-align:center;color:var(--muted);padding:14px}.settings-panel{display:grid;gap:12px}.profile-avatar-row{display:flex;align-items:center;gap:12px}.avatar-upload{font-size:13px;color:var(--muted);border:1px dashed var(--border);padding:8px 10px;border-radius:10px;cursor:pointer}.avatar-upload input{display:none}.save-profile-btn{border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent-strong);font-size:13px;font-weight:600;border-radius:10px;padding:8px 12px;cursor:pointer}.save-profile-btn:disabled{opacity:.6;cursor:default}.emoji-panel{position:absolute;left:64px;right:64px;bottom:calc(100% + 8px);max-height:260px;overflow:auto;display:grid;gap:8px;padding:8px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 95%,transparent);z-index:30;box-shadow:0 10px 24px #0f172a26}.emoji-panel-tabs{display:flex;gap:8px}.emoji-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.emoji-tab.active{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.emoji-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.emoji-btn{border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:20px;line-height:1;padding:4px}.emoji-btn:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.sticker-picker{display:grid;gap:8px}.sticker-pack-tabs{display:flex;gap:6px;flex-wrap:wrap}.sticker-pack-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.sticker-pack-tab.active{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.sticker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.sticker-btn{border:1px solid transparent;border-radius:12px;padding:2px;background:transparent;cursor:pointer}.sticker-btn img{width:100%;height:auto;display:block;border-radius:10px}.sticker-btn:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.settings-panel h4{margin:0;font-size:20px}.chat-info-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;pointer-events:none}.chat-info-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a3d;opacity:0;transition:opacity .2s ease}.chat-info-panel{position:absolute;top:0;right:0;width:min(370px,94vw);height:100%;overflow:auto;background:#f1f2f4;border-left:1px solid var(--border);box-shadow:-20px 0 40px #0f172a29;transform:translate(100%);transition:transform .22s ease}.chat-info-drawer.open{pointer-events:auto}.chat-info-drawer.open .chat-info-backdrop{opacity:1}.chat-info-drawer.open .chat-info-panel{transform:translate(0)}.chat-info-header{padding:12px 12px 14px;border-bottom:1px solid var(--border);display:grid;justify-items:center;gap:8px;background:#eceef1}.chat-info-header .MuiAvatar-root{width:88px;height:88px}.chat-info-header .MuiButton-root{justify-self:start}.chat-info-header h3{margin:2px 0 0;font-size:30px;line-height:1.05;text-align:center}.chat-info-header p{margin:0;color:#1982d4;font-size:18px}.chat-info-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-bottom:1px solid var(--border);background:#eceef1}.chat-info-action-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 6px;display:grid;justify-items:center;gap:8px;cursor:pointer;color:#1f2937}.chat-info-action-card svg{width:20px;height:20px}.chat-info-action-card span{font-size:14px}.chat-info-section{margin-top:8px;padding:12px;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;gap:14px}.chat-info-item strong{display:block;font-size:17px;line-height:1.2;color:#111827;word-break:break-word}.chat-info-item span{margin-top:2px;display:block;font-size:13px;color:#8b93a3}.chat-info-section.compact{gap:10px}.chat-info-row{display:flex;align-items:center;gap:12px;color:#1f2937}.chat-info-row svg{width:22px;height:22px}.chat-info-row span{font-size:16px}.chat-info-row.action{border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.chat-info-row.action.danger{color:#db4f50}.chat-info-notice{position:sticky;bottom:10px;margin:10px 12px;padding:8px 10px;border-radius:10px;font-size:13px;color:#0f5132;border:1px solid #8ed1ae;background:#e8f7ef}@media (max-width: 1200px){.app-layout{grid-template-columns:76px 330px 1fr}}@media (max-width: 860px){.auth-screen{padding:14px}.auth-card{width:min(370px,100%)}.auth-card-header h2{font-size:31px}.app-layout:not(.mobile){grid-template-columns:62px 1fr}.app-layout.mobile{grid-template-columns:62px 1fr}.app-layout.mobile .sidebar,.app-layout.mobile .chat-view{grid-column:2;height:100vh}.app-layout.mobile .chat-header-main h3{font-size:22px}.app-layout.mobile .folder-rail-item{width:46px;height:46px}.composer-input-textarea .MuiOutlinedInput-root{min-height:42px}.composer-send-btn{width:40px!important;height:40px!important;min-width:40px!important}.composer-emoji-inside{width:28px!important;height:28px!important;min-width:28px!important;right:6px;bottom:6px}.sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sticker-preview img,.sticker-message,.sticker-message img{width:128px;height:128px}.chat-info-panel{width:100vw}.chat-info-header h3{font-size:28px}.chat-info-header p{font-size:16px}}
