@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{--bg-dark:#0b141e;--bg-main:#0e1a25;--bg-panel:#111f2cb8;--bg-panel-hover:#182b3fe0;--sidebar-bg:#0e1a25f2;--sidebar-border:#ffffff0d;--glass-border:#ffffff14;--glass-shadow:0 12px 40px 0 #0009;--text-primary:#f8fafc;--text-secondary:#9daebe;--accent-color:#19b3f0;--accent-hover:#0d9bd3;--danger-color:#ef4343;--danger-hover:#eb1414;--success-color:#21c45d;--primary-color:#19b3f0;--primary-hover:#0d9bd3;--surface-input:#0003;--surface-muted:#ffffff08;--surface-muted-hover:#ffffff0d;--surface-soft:#ffffff0a;--surface-soft-hover:#ffffff14;--surface-strong:#ffffff14;--surface-border-soft:#ffffff0d;--surface-border-faint:#ffffff0a;--surface-overlay:#0006;--surface-overlay-strong:#000000b3;--surface-overlay-panel:#060a16eb;--surface-backdrop:#0a0e1cf0;--surface-code:#0006;--surface-code-border:#ffffff0d;--surface-avatar-overlay:#00000073;--surface-chat-gradient:linear-gradient(180deg, #050814, #0b1020);--surface-chat-home-gradient:linear-gradient(180deg, #0a0f1d 0%, #070b16 100%);--surface-bottom-nav:linear-gradient(180deg, #080b18db, #080b18fa);--surface-image-overlay:#020617d1;--surface-image-shell:linear-gradient(180deg, #0f172af5, #020617eb);--surface-image-stage:linear-gradient(180deg, #0f172aeb, #0f172ad1), radial-gradient(circle at top, #38bdf829, transparent 56%);--surface-media-card:linear-gradient(180deg, #0f172aeb, #0f172ac2), radial-gradient(circle at top, #38bdf82e, transparent 58%);--surface-pending-strip:linear-gradient(180deg, #0f172ae6, #0f172ac7), radial-gradient(circle at top right, #38bdf829, transparent 52%);--surface-floating-btn:#0f172ac7;--surface-card-shadow:0 20px 40px #0003;--surface-soft-shadow:0 4px 15px #0000001a;--surface-avatar-ring:#0b1020;--surface-captcha:#ffffff0d;--surface-captcha-pattern:repeating-linear-gradient(45deg, transparent, transparent 10px, #ffffff08 10px, #ffffff08 20px);--bubble-self:var(--accent-color);--bubble-other:#f8fafc0d;--msg-self:var(--bubble-self);--msg-other:var(--bubble-other);--card-radius:16px;--btn-radius:12px;--sidebar-width:230px;--content-padding:clamp(1rem, 3vw, 2.5rem);--font-size-base:clamp(.92rem, 1.25vw, 1.08rem)}body.light-theme{--bg-dark:#ecf0f4;--bg-main:#f2f5f7;--bg-panel:#ffffffe0;--bg-panel-hover:#fff;--sidebar-bg:#fffffff2;--sidebar-border:#c2ccd680;--glass-border:#a3b3c299;--glass-shadow:0 12px 40px 0 #52667a26;--text-primary:#101f2d;--text-secondary:#47596b;--primary-color:#19b3f0;--primary-hover:#0d9bd3;--surface-input:#fffffff0;--surface-muted:#0f172a08;--surface-muted-hover:#0f172a0f;--surface-soft:#0f172a0a;--surface-soft-hover:#0f172a14;--surface-strong:#0f172a1a;--surface-border-soft:#94a3b82e;--surface-border-faint:#94a3b824;--surface-overlay:#0f172a1f;--surface-overlay-strong:#0f172a4d;--surface-overlay-panel:#ffffffeb;--surface-backdrop:#fffffff0;--surface-code:#0f172a0f;--surface-code-border:#94a3b82e;--surface-avatar-overlay:#0f172a66;--surface-chat-gradient:linear-gradient(180deg, #f7fbff, #eef4fb);--surface-chat-home-gradient:linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%);--surface-bottom-nav:linear-gradient(180deg, #ffffffeb, #f4f8fcfa);--surface-image-overlay:#e2e8f0c7;--surface-image-shell:linear-gradient(180deg, #fffffffa, #f1f5f9f2);--surface-image-stage:linear-gradient(180deg, #fffffff5, #f1f5f9e0), radial-gradient(circle at top, #38bdf824, transparent 56%);--surface-media-card:linear-gradient(180deg, #fffffff5, #f1f5f9e6), radial-gradient(circle at top, #38bdf81f, transparent 58%);--surface-pending-strip:linear-gradient(180deg, #fffffffa, #f1f5f9eb), radial-gradient(circle at top right, #38bdf824, transparent 52%);--surface-floating-btn:#0f172ab8;--surface-card-shadow:0 20px 40px #0f172a1a;--surface-soft-shadow:0 4px 15px #0f172a14;--surface-avatar-ring:#f4f7fb;--surface-captcha:#ffffffeb;--surface-captcha-pattern:repeating-linear-gradient(45deg, transparent, transparent 10px, #0f172a08 10px, #0f172a08 20px);--bubble-self:var(--accent-color);--bubble-other:#ffffffe6;--msg-self:var(--bubble-self);--msg-other:var(--bubble-other)}body.light-theme button.secondary,body.light-theme input,body.light-theme textarea{color:var(--text-primary);border:1px solid var(--glass-border);background:#fff}body.light-theme .glass-panel{background:var(--bg-panel);border:1px solid var(--glass-border)}*{box-sizing:border-box;margin:0;padding:0;font-family:Manrope,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.chat-selectable-text,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}body{background-color:var(--bg-dark);color:var(--text-primary);min-height:100vh;font-size:var(--font-size-base);background-image:radial-gradient(circle at 12% 24%,#0ea5e926,#0000 30%),radial-gradient(circle at 85% 20%,#10b98114,#0000 28%),linear-gradient(160deg,#ffffff03 0%,#ffffff05 100%);margin:0;padding:0;line-height:1.5;overflow:hidden}#root{width:100vw;height:100vh;display:flex;overflow:hidden}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.mobile-header{display:none!important}.desktop-nav-rail{display:flex}.mobile-bottom-nav{display:none}.mobile-bottom-nav__item{color:var(--text-secondary);min-height:58px;box-shadow:none;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.32rem;padding:.45rem .35rem;font-size:.72rem;font-weight:600;display:inline-flex;transform:none}.mobile-bottom-nav__item:hover,.mobile-bottom-nav__item:active{box-shadow:none;background:0 0;transform:none}.mobile-bottom-nav__item.is-active{color:var(--accent-color)}.mobile-bottom-nav__icon-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.mobile-bottom-nav__badge{background:var(--danger-color);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 .3rem;font-size:.65rem;line-height:18px;position:absolute;top:-8px;right:-12px}.mobile-action-sheet-overlay{align-items:flex-end}.mobile-action-sheet{width:min(560px,100%);padding:1.15rem 1rem calc(1rem + env(safe-area-inset-bottom));border-bottom-right-radius:0;border-bottom-left-radius:0}.mobile-action-sheet__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.mobile-action-sheet__title{font-size:1rem;font-weight:700}.mobile-action-sheet__subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.78rem}.mobile-action-sheet__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.mobile-action-sheet__item{border-radius:14px;width:100%;min-height:48px}.mobile-action-sheet__item.is-danger{color:#fca5a5;background:#f871711f}.mobile-chat-list-item{border:1px solid var(--surface-border-soft);background:var(--surface-muted);width:100%;box-shadow:none;border-radius:22px;align-items:center;gap:.9rem;padding:.9rem .95rem;display:flex;transform:none}.mobile-chat-list-item:hover,.mobile-chat-list-item:active{background:var(--surface-muted-hover);box-shadow:none;transform:none}.mobile-chat-list-item.is-active{background:#2083ff1f;border-color:#2083ff73}.mobile-chat-list-item__title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.mobile-chat-list-item__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.mobile-chat-list-item__subtitle{color:var(--text-secondary);text-align:left;margin-top:.2rem;font-size:.8rem;line-height:1.45}.mobile-chat-list-item__time{color:var(--text-secondary);flex-shrink:0;font-size:.72rem}.mobile-chat-list-item__badge{background:var(--danger-color);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .45rem;font-size:.72rem;display:inline-flex}.mobile-chat-list-item__online{background:var(--success-color);border:2px solid var(--surface-avatar-ring);border-radius:50%;width:12px;height:12px;position:absolute;bottom:2px;right:2px}.mobile-segmented-btn{background:var(--surface-soft);min-height:44px;color:var(--text-secondary);box-shadow:none;border-radius:16px;flex:1}.mobile-segmented-btn.is-active{color:#fff;background:#2083ff2e}.mobile-segmented-btn:hover,.mobile-segmented-btn:active{box-shadow:none;transform:none}.mobile-contact-section-label{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:.3rem 0 .1rem;padding:0 .35rem;font-size:.75rem}.mobile-chat-empty-state{background:var(--surface-muted);border:1px solid var(--surface-border-soft);border-radius:20px;padding:1.3rem 1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--surface-soft-hover)}input{background:var(--surface-input);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;transition:all .2s}input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f633}button{background:var(--accent-color);color:#fff;border-radius:var(--btn-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 15px #3c83f633}button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3c83f64d}button:active{transform:translateY(0)}button.secondary{background:var(--bg-panel);border:1px solid var(--glass-border)}button.secondary:hover{background:var(--bg-panel-hover)}button.danger{color:var(--danger-color);border:1px solid var(--danger-color);background:0 0}button.danger:hover{background:var(--danger-color);color:#fff}button.icon-btn{color:var(--text-secondary);background:0 0;border-radius:50%;padding:.5rem}button.icon-btn:hover{background:var(--bg-panel-hover);color:var(--text-primary)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);padding:1rem;font-weight:500}td{border-bottom:1px solid #ffffff05;padding:1rem}tr:hover td{background:var(--surface-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes chat-nudge-shake{0%,to{transform:translate(0,0)}12%{transform:translate(-14px)}24%{transform:translate(12px)}36%{transform:translate(-10px)}48%{transform:translate(8px)}60%{transform:translate(-6px)}72%{transform:translate(4px)}}.chat-shell.is-nudged{animation:.9s cubic-bezier(.36,.07,.19,.97) chat-nudge-shake}.chat-nudge-banner{color:var(--text-primary);background:linear-gradient(90deg,#f8717129,#fbbf241f);border-bottom:1px solid #f8717133;justify-content:space-between;align-items:center;gap:.9rem;padding:.7rem 1.25rem;display:flex}.chat-nudge-banner__content{align-items:center;gap:.6rem;min-width:0;font-size:.82rem;line-height:1.5;display:inline-flex}.chat-nudge-banner__content strong{color:#fda4af}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overlay{background:var(--surface-overlay-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.image-preview-overlay{background:var(--surface-image-overlay);padding:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-preview-shell{background:var(--surface-image-shell);border:1px solid var(--surface-strong);width:min(1120px,100%);max-height:calc(100vh - 3rem);box-shadow:var(--surface-card-shadow);border-radius:24px;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:1rem;display:grid}.image-preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.image-preview-toolbar__meta{min-width:0}.image-preview-toolbar__title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.image-preview-toolbar__subtitle{color:var(--text-secondary);margin-top:.28rem;font-size:.8rem}.image-preview-toolbar__actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex}.image-preview-stage{background:var(--surface-image-stage);border:1px solid var(--surface-border-soft);border-radius:20px;justify-content:center;align-items:center;min-height:0;padding:1.5rem;display:flex;position:relative;overflow:auto}.image-preview-modal{object-fit:contain;transform-origin:50%;border-radius:16px;max-width:min(86vw,980px);max-height:min(76vh,820px);transition:transform .18s;box-shadow:0 18px 48px #0000006b}.image-preview-nav{background:var(--surface-floating-btn);color:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 24px #00000047}.image-preview-nav.is-left{left:1rem}.image-preview-nav.is-right{right:1rem}.chat-media-card{background:var(--surface-media-card);border:1px solid var(--surface-strong);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.chat-media-card.is-clickable{cursor:zoom-in}.chat-media-card.is-clickable:hover .chat-media-image{transform:scale(1.02)}.chat-media-image{object-fit:contain;width:100%;height:100%;transition:transform .18s;display:block}.chat-media-fallback{text-align:center;width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;padding:.85rem;font-size:.78rem;line-height:1.5;display:flex}.pending-upload-strip{background:var(--surface-pending-strip);border:1px solid var(--surface-strong);border-radius:18px;gap:.85rem;margin:.85rem 0 .6rem;padding:1rem;display:grid}.pending-upload-strip__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.pending-upload-strip__summary{gap:.25rem;display:grid}.pending-upload-strip__title{color:var(--text-primary);align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;display:inline-flex}.pending-upload-strip__meta{color:var(--text-secondary);font-size:.76rem}.pending-upload-strip__actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.pending-upload-strip__list{gap:.85rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.pending-upload-strip__item{flex:0 0 112px;gap:.45rem;display:grid}.pending-upload-strip__thumb{position:relative}.pending-upload-strip__remove{background:var(--surface-floating-btn);color:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex;position:absolute;top:6px;right:6px}.pending-upload-strip__caption{color:var(--text-secondary);gap:.2rem;font-size:.72rem;display:grid}.pending-upload-strip__caption span:first-child{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);overflow:hidden}.scroll-bottom-btn{z-index:50;animation:.3s fadeInUp;box-shadow:0 4px 12px #0000004d}h1{font-size:clamp(1.4rem,4vw,2.2rem);line-height:1.2}h2{font-size:clamp(1.1rem,3vw,1.4rem);line-height:1.3}h3{font-size:clamp(1rem,2.5vw,1.2rem)}@media (width<=1024px){:root{--sidebar-width:240px}.chat-detail-panel{display:none!important}}@media (width<=768px){:root{--sidebar-width:0px}.mobile-header,.desktop-nav-rail{display:none!important}.mobile-bottom-nav{z-index:1200;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:var(--surface-bottom-nav);border-top:1px solid var(--surface-border-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:stretch;gap:.2rem;display:flex;position:fixed;bottom:0;left:0;right:0}.main-content{padding-top:0;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.glass-panel{padding:1rem!important}.chat-sidebar{z-index:1000;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;transform:translate(-100%);width:280px!important}.chat-sidebar.mobile-open{transform:translate(0);box-shadow:20px 0 50px #00000080}.msg-bubble{max-width:85%!important}.image-preview-overlay{padding:1rem}.image-preview-shell{border-radius:20px;max-height:calc(100vh - 2rem);padding:.85rem}.image-preview-toolbar{align-items:flex-start}.image-preview-toolbar__meta,.image-preview-toolbar__actions{width:100%}.image-preview-toolbar__actions{justify-content:flex-end}.image-preview-stage{padding:1rem}.image-preview-modal{max-width:min(100%,88vw);max-height:min(68vh,720px)}.image-preview-nav{width:40px;height:40px}.image-preview-nav.is-left{left:.65rem}.image-preview-nav.is-right{right:.65rem}.pending-upload-strip{padding:.85rem}.pending-upload-strip__actions{justify-content:flex-start;width:100%}}@media (width<=480px){.mobile-bottom-nav__item{font-size:.68rem}.msg-bubble{max-width:95%!important;padding:.6rem .9rem!important}.chat-header{padding:.75rem 1rem!important}.chat-input-area{padding:1rem!important}.image-preview-overlay{padding:.65rem}.image-preview-shell{border-radius:18px;gap:.75rem;padding:.75rem}.image-preview-toolbar__title{font-size:.92rem}.image-preview-toolbar__subtitle{font-size:.74rem}.image-preview-toolbar__actions{gap:.45rem}.image-preview-toolbar__actions button{min-width:40px;min-height:40px;padding:.45rem .65rem}.image-preview-stage{padding:.75rem}.image-preview-modal{border-radius:12px;max-width:min(100%,90vw);max-height:min(62vh,560px)}.image-preview-nav{width:38px;height:38px;top:auto;bottom:.75rem;transform:none}.image-preview-nav.is-left{left:.75rem}.image-preview-nav.is-right{right:.75rem}.pending-upload-strip{gap:.75rem;margin-top:.7rem;padding:.8rem}.pending-upload-strip__actions{gap:.45rem}.pending-upload-strip__actions button{flex:calc(50% - .45rem);justify-content:center;min-width:0}.pending-upload-strip__item{flex-basis:92px}.pending-upload-strip__thumb .chat-media-card{width:92px!important;height:92px!important}button{padding:.6rem 1rem}}img{max-width:100%;height:auto}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}
