:root{--bg: #070b12;--surface: #0e1520;--surface-elevated: #141c2a;--surface-2: #0a101a;--surface-hover: rgba(255, 255, 255, .04);--text: #e8ecf4;--text-secondary: #b4becf;--muted: #7a8699;--accent: #c4a35a;--accent-soft: rgba(196, 163, 90, .14);--accent-border: rgba(196, 163, 90, .28);--accent-text: #0f1218;--danger: #e07070;--danger-soft: rgba(224, 112, 112, .12);--success: #4caf8a;--success-soft: rgba(76, 175, 138, .12);--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 20px;--shadow: 0 20px 50px rgba(0, 0, 0, .45);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .28);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font: "Inter", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--fs-xs: 11px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 16px;--fs-xl: 22px;--fs-2xl: 28px;--lh: 1.55;--tracking-brand: .14em;--anim: .2s ease;--anim-fast: .15s ease;--anim-slow: .25s ease;color:var(--text);background:var(--bg);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg: #f3f6fb;--surface: #ffffff;--surface-elevated: #eef2f8;--surface-2: #f7f9fc;--surface-hover: rgba(15, 23, 42, .05);--text: #172033;--text-secondary: #455268;--muted: #6e7b90;--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--shadow: 0 20px 50px rgba(31, 45, 70, .14);--bubble-me: #95ec69;--bubble-me-text: #172033;--bubble-other: #ffffff;--bubble-other-text: #172033;--thread-bg: #f1f1f1}:root{--bubble-me: #1f7a3d;--bubble-me-text: #f2f7f2;--bubble-other: #141c2a;--bubble-other-text: #e8ecf4;--thread-bg: transparent}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}button,input,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.home{min-height:100%;display:grid;place-items:center;padding:var(--space-6) var(--space-4);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(196,163,90,.06),transparent 55%),radial-gradient(ellipse at bottom,#0c121c 0%,var(--bg) 70%)}.home-card{width:min(400px,100%);padding:48px 36px 40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);text-align:center}.home-card:before{content:"";display:block;width:52px;height:2px;margin:0 auto 24px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.75}.home-card .brand{letter-spacing:var(--tracking-brand);font-size:var(--fs-xs);font-weight:500;color:var(--accent);opacity:.95}.home-card h1{font-weight:560;font-size:var(--fs-2xl);letter-spacing:-.02em;margin:18px 0 12px;color:var(--text)}.home-card p{color:var(--muted);line-height:1.65;margin:0 0 32px;font-size:17px}.home-card button{width:100%;padding:13px 16px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:var(--fs-md);cursor:pointer;margin:5px 0;letter-spacing:.02em;transition:background var(--anim-fast),border-color var(--anim-fast),transform var(--anim-fast),color var(--anim-fast)}.home-card button:hover{background:#c4a35a38;border-color:#c4a35a6b}.home-card button:active{transform:scale(.985)}.home-card button.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);font-weight:500;letter-spacing:0}.home-card button.ghost:hover{background:var(--surface-hover);border-color:#ffffff24;color:var(--text)}.gate{max-width:400px;margin:12vh auto;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);box-shadow:var(--shadow-sm)}.gate h2,.profile-page h2{margin:0 0 4px;font-weight:560;font-size:var(--fs-xl);letter-spacing:-.02em}.gate input,.profile-page input,.profile-page select{width:100%;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--anim-fast)}.gate input:focus,.profile-page input:focus{outline:none;border-color:var(--accent-border)}.gate button,.profile-page>button,.btn-primary{padding:12px 14px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font-weight:600;cursor:pointer;transition:opacity var(--anim-fast)}.gate button.ghost,.profile-page button.ghost,.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);font-weight:500}.profile-page{width:min(100%,440px);padding:var(--space-5);max-width:440px;margin:0 auto;display:grid;gap:var(--space-3)}.profile-page label{font-size:var(--fs-sm);color:var(--muted);display:grid;gap:6px}.profile-page label.check{display:flex;gap:var(--space-2);align-items:center;color:var(--text-secondary);font-size:var(--fs-md)}.profile-page label.check input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;padding:0}.chat-app{height:100%;height:var(--app-height, 100%);position:relative;display:flex;flex-direction:column;background:var(--custom-bg, var(--bg));min-height:100dvh;min-height:var(--app-height, 100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.chat-app.embed{min-height:100%}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.chat-header .title{font-weight:560;font-size:15px;letter-spacing:-.01em}.chat-header .sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;letter-spacing:.01em}.hdr-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 11px;font-size:var(--fs-sm);cursor:pointer;transition:background var(--anim-fast),border-color var(--anim-fast),color var(--anim-fast)}.hdr-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.hdr-actions{display:flex;gap:6px;flex-shrink:0}.inbox-list{flex:1;overflow:auto;padding:4px 0}.inbox-item{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border:0;border-bottom:1px solid rgba(255,255,255,.04);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background var(--anim-fast)}.inbox-item:hover{background:var(--surface-hover)}.inbox-item:active{background:#ffffff0f}.inbox-main{flex:1;display:grid;gap:5px;min-width:0}.inbox-main b{font-size:19px;font-weight:600;letter-spacing:-.01em}.inbox-main small{color:var(--muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.inbox-row{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.inbox-row time{font-size:10.5px;color:var(--muted);opacity:.85;flex-shrink:0;font-variant-numeric:tabular-nums}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-text);font:650 10px/18px var(--font);text-align:center;flex-shrink:0}.inbox-item .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:none}.inbox-empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--muted);font-size:var(--fs-sm)}.thread-empty{margin:auto;max-width:360px;padding:28px 18px;text-align:center;color:var(--muted);font-size:var(--fs-sm);line-height:1.65}.channel-description{margin:0;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.thread{flex:1;overflow:auto;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(20,28,42,.5),transparent)}.day,.msg-time{align-self:center;font-size:11px;color:var(--muted);background:#ffffff0a;padding:3px 10px;border-radius:999px;margin:10px auto 6px;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.msg-row{display:flex;align-items:flex-start;gap:8px;width:100%;max-width:100%}.msg-row.me{flex-direction:row-reverse}.msg-avatar{flex:none;width:36px;height:36px;border-radius:4px;overflow:hidden;background:var(--surface-elevated, #1b2534);color:var(--accent, #ffd35a);display:grid;place-items:center;font-size:14px;font-weight:650}.msg-avatar img{width:100%;height:100%;object-fit:cover;display:block}.bubble{width:fit-content;max-width:min(76%,calc(100% - 52px),36em);padding:10px 14px;border-radius:4px 14px 14px;background:var(--bubble-other);color:var(--bubble-other-text);border:1px solid transparent;animation:fadeIn var(--anim);word-break:break-word;line-height:1.5;font-size:17px;box-shadow:0 1px 2px #0000000f}.bubble.me{background:var(--bubble-me);color:var(--bubble-me-text);border-color:transparent;border-radius:14px 4px 14px 14px}.bubble.sticker-only{background:transparent;border-color:transparent;box-shadow:none;padding:2px;animation:stickerPop .24s ease}@keyframes stickerPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.bubble.pending{opacity:.65}.bubble.failed{border-color:#e0707073}.bubble small{display:block;font-size:10.5px;color:var(--muted);opacity:.75;margin-bottom:4px;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-variant-numeric:tabular-nums}.bubble .st{font-size:10px;color:var(--muted);opacity:.55;margin-top:5px;text-align:right;font-variant-numeric:tabular-nums}.message-avatar{display:none}.reply-quote{margin:4px 0 7px;padding:7px 9px;border-left:3px solid var(--accent);border-radius:5px;background:var(--surface-hover);color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote b{margin-right:6px;color:var(--accent)}.reply-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;color:var(--text-secondary);background:var(--surface-2);border-top:1px solid var(--border);font-size:12px}.reply-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar button{border:0;background:transparent;color:var(--text);font-size:20px;cursor:pointer}.message-menu{position:fixed;z-index:2000;width:176px;display:grid;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.message-menu button{padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-menu button:hover{background:var(--surface-hover)}.message-menu button.danger{color:var(--danger)}.brand-head{display:flex;align-items:center;gap:10px;min-width:0}.brand-head>img{width:38px;height:38px;border-radius:11px;object-fit:cover;border:1px solid var(--border)}.avatar-editor{display:flex;align-items:center;gap:12px}.avatar-editor img,.avatar-editor>span{width:54px;height:54px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--surface-elevated);color:var(--text)}.avatar-editor button{width:auto!important;padding:10px 14px!important}.composer{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border);background:var(--surface);align-items:flex-end}.composer textarea{flex:1;min-height:52px;max-height:160px;resize:none;padding:12px 14px;font-size:17px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--anim-fast);line-height:1.45}.composer textarea:focus{outline:none;border-color:var(--accent-border)}.composer textarea::placeholder{color:var(--muted);opacity:.7}.composer>button[type=submit],.composer button.send,.composer button[type=submit]{padding:12px 18px;font-size:16px;min-height:48px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font-weight:600;cursor:pointer;transition:opacity var(--anim-fast),transform var(--anim-fast);flex-shrink:0}.composer>button[type=submit]:hover{opacity:.94}.composer>button[type=submit]:active{transform:scale(.98)}.icon-btn{border:0;background:transparent;color:var(--muted);border-radius:var(--radius-sm);width:48px;height:48px;cursor:pointer;font-size:22px;transition:background var(--anim-fast),color var(--anim-fast);flex-shrink:0}.icon-btn:hover{background:var(--surface-hover);color:var(--text-secondary)}.banner{padding:8px 16px;background:var(--accent-soft);color:var(--text-secondary);font-size:var(--fs-sm);text-align:center;border-bottom:1px solid var(--accent-border)}.err{color:#e8a0a0;font-size:var(--fs-sm);text-align:center;margin:4px 0 0}.push-prompt{margin:10px 14px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;font-size:var(--fs-sm);color:var(--text-secondary)}.push-prompt button{padding:7px 12px;font-size:var(--fs-sm);border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);font-weight:600;cursor:pointer;white-space:nowrap}.nav{display:flex;gap:6px;padding:8px 14px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.nav button{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;font-size:var(--fs-sm);white-space:nowrap;transition:color var(--anim-fast),border-color var(--anim-fast),background var(--anim-fast)}.nav button:hover{color:var(--text);background:var(--surface-hover)}.emoji-bar{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--surface);border-top:1px solid var(--border);max-height:220px;overflow-y:auto}.emoji-group{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.emoji-group-name{font-size:11px;color:var(--muted);margin-right:4px}.emoji-bar button{border:0;background:transparent;font-size:20px;cursor:pointer;padding:4px 6px;border-radius:6px;transition:background var(--anim-fast)}.emoji-bar button:hover{background:var(--surface-hover)}.load-more{align-self:center;margin:8px auto 4px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer}.load-more:disabled{opacity:.6;cursor:default}.to-bottom{position:absolute;right:16px;bottom:96px;z-index:30;border:0;border-radius:999px;padding:8px 14px;background:var(--accent);color:var(--accent-text);font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00000040}.atts img.zoomable{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000eb;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:8px}.lb-btn{position:absolute;border:0;background:#ffffff1f;color:#fff;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}.lb-close{top:16px;right:16px}.lb-prev{left:12px;top:50%;transform:translateY(-50%)}.lb-next{right:12px;top:50%;transform:translateY(-50%)}.lb-count{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;font-size:13px;background:#ffffff1f;padding:4px 12px;border-radius:999px}.pending-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;background:var(--surface);border-top:1px solid var(--border)}.chip{font-size:var(--fs-sm);background:#ffffff0f;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 2px}.prog{width:100%;height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden}.prog i{display:block;height:100%;background:var(--accent);transition:width var(--anim)}.atts{display:grid;gap:6px;margin-top:6px}.atts img{max-width:min(240px,70vw);border-radius:var(--radius-sm);display:block}.att{color:var(--accent);font-size:13px;text-decoration:none}.att:hover{text-decoration:underline}.recovery-code{font:600 15px/1.6 var(--font-mono);background:var(--surface-2);border:1px solid var(--border);padding:14px;border-radius:var(--radius);word-break:break-all;color:var(--text)}.hint{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.empty,.skeleton-wrap{margin:auto;color:var(--muted);text-align:center;padding:var(--space-6);font-size:var(--fs-sm)}.skeleton{background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm);height:56px;margin:8px 14px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.embed .home-card{box-shadow:none;border-radius:0;border:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:transparent}@media(max-width:480px){.bubble{max-width:88%}.home-card{padding:36px 22px 32px}}@media(max-width:640px){.chat-header{padding:12px 14px}.composer{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.bubble{max-width:92%}.inbox-item{padding:14px}.sticker-grid.big{grid-template-columns:repeat(4,1fr)}.big-emoji{font-size:52px}}:root[data-theme=light] .thread{background:var(--thread-bg)}.sticker-panel{border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;max-height:46%;min-height:220px}.sticker-grid-wrap{flex:1;overflow-y:auto;padding:10px 8px 4px;-webkit-overflow-scrolling:touch}.sticker-grid.small .emoji-group{margin-bottom:6px}.sticker-grid.small .emoji-group-name{display:block;font-size:11px;color:var(--muted);padding:4px 8px}.sticker-grid.small button{border:0;background:transparent;font-size:26px;padding:7px;cursor:pointer;border-radius:10px;line-height:1}.sticker-grid.small button:active{background:var(--surface-hover);transform:scale(1.15)}.sticker-grid.big{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.sticker-cell{border:0;background:transparent;border-radius:12px;padding:8px 4px;cursor:pointer;display:grid;place-items:center;min-height:76px}.sticker-cell:active{background:var(--surface-hover)}.sticker-cell:active .big-emoji{transform:scale(1.25)}.big-emoji{font-size:58px;line-height:1.15;display:inline-block;transition:transform .15s ease;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.sticker-img{width:96px;height:96px;object-fit:contain;border-radius:8px}.sticker-wrap .sticker-img{width:128px;height:128px;cursor:zoom-in}.sticker-empty{grid-column:1 / -1;text-align:center;color:var(--muted);font-size:13px;padding:28px 0}.sticker-empty small{font-size:11px}.sticker-tabs{display:flex;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-2);overflow-x:auto}.sticker-tabs button{border:0;background:transparent;font-size:22px;padding:8px 12px;border-radius:10px;cursor:pointer;flex-shrink:0;opacity:.55}.sticker-tabs button.on{background:var(--surface-elevated);opacity:1;box-shadow:inset 0 -2px 0 var(--accent)}@keyframes stk-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-18px) scale(1.05)}55%{transform:translateY(0) scale(.96)}75%{transform:translateY(-7px)}}@keyframes stk-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-7px) rotate(-8deg)}40%{transform:translate(6px) rotate(7deg)}60%{transform:translate(-5px) rotate(-5deg)}80%{transform:translate(4px) rotate(4deg)}}@keyframes stk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stk-pulse{0%,to{transform:scale(1)}25%{transform:scale(1.22)}45%{transform:scale(1.02)}65%{transform:scale(1.18)}}@keyframes stk-swing{0%,to{transform:rotate(0)}25%{transform:rotate(18deg)}75%{transform:rotate(-18deg)}}@keyframes stk-flicker{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.75}}@keyframes stk-nod{0%,to{transform:translateY(0)}50%{transform:translateY(9px)}}@keyframes stk-tada{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.2) rotate(-6deg)}60%{transform:scale(1.12) rotate(6deg)}}.big-emoji.anim-bounce{animation:stk-bounce 1.1s ease infinite}.big-emoji.anim-shake{animation:stk-shake .9s ease infinite}.big-emoji.anim-spin{animation:stk-spin 2.4s linear infinite}.big-emoji.anim-pulse{animation:stk-pulse 1.4s ease infinite}.big-emoji.anim-swing{animation:stk-swing 1.2s ease-in-out infinite;transform-origin:50% 80%}.big-emoji.anim-flicker{animation:stk-flicker 1s ease infinite}.big-emoji.anim-nod{animation:stk-nod .9s ease infinite}.big-emoji.anim-tada{animation:stk-tada 1.3s ease infinite}.voice-wrap{min-width:170px}.voice-missing{color:var(--muted);font-size:13px}.voice-player{display:flex;align-items:center;gap:10px;border:0;background:transparent;cursor:pointer;padding:4px 2px;min-width:160px;max-width:230px;color:inherit}.vp-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;background:#00000014;flex-shrink:0}.vp-wave{flex:1;display:flex;align-items:center;gap:2.5px;height:26px}.vp-wave i{flex:1;min-width:2px;border-radius:2px;background:currentColor;opacity:.28}.vp-wave i.on{opacity:.9}.vp-sec{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums;flex-shrink:0}.voice-player.playing .vp-icon{background:var(--accent);color:var(--accent-text)}.voice-composer-btn{flex:1;display:flex}.voice-rec-wrap{flex:1;display:flex;position:relative}.voice-rec-btn{flex:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-weight:600;padding:11px 13px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;min-height:44px}.voice-rec-btn.recording{background:var(--danger-soft);border-color:var(--danger)}.voice-rec-tip{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%);background:#000000d1;color:#fff;font-size:13px;padding:12px 16px;border-radius:12px;white-space:nowrap;display:flex;align-items:center;gap:10px;z-index:60}.voice-rec-tip.cancel{background:#a01e1ee6}.voice-rec-bars{display:flex;align-items:flex-end;gap:3px;height:22px}.voice-rec-bars b{width:3px;border-radius:2px;background:#fff;animation:rec-bar .7s ease-in-out infinite alternate}@keyframes rec-bar{0%{height:5px}to{height:20px}}.wx-bound{display:inline-block;font-size:12px;font-weight:600;color:#07c160;background:#07c16018;border:1px solid #07c16055;border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:middle}.chat-shell{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.chat-thread{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.composer-dock{position:relative;width:100%;background:var(--surface);border-top:1px solid var(--border);z-index:100;display:flex;flex-direction:column}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 14px;background:var(--surface)}.composer textarea{flex:1;min-height:40px;max-height:120px;resize:none;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);line-height:1.4;box-sizing:border-box}.sticker-panel{border-top:1px solid var(--border);background:var(--surface-2);height:260px;max-height:40vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-install-banner{background:linear-gradient(90deg,#1e3a8a,#3b82f6);color:#fff;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;box-shadow:0 2px 8px #0003;z-index:99}.pwa-btns{display:flex;align-items:center;gap:8px}.pwa-btns .btn-install{background:#fff;color:#1e3a8a;border:0;padding:4px 10px;border-radius:4px;font-weight:700;font-size:12px;cursor:pointer}.pwa-btns .btn-close{background:transparent;color:#fff;border:0;font-size:16px;cursor:pointer;padding:2px 6px}:root{--bg: #070a10;--surface: #111722;--surface-elevated: #192333;--surface-2: #0c121c;--surface-hover: rgba(148, 163, 184, .11);--text: #f4f7fb;--text-secondary: #c4cede;--muted: #9aa8bb;--accent: #d6b36a;--accent-soft: rgba(214, 179, 106, .16);--accent-border: rgba(214, 179, 106, .38);--accent-text: #11151d;--border: rgba(226, 232, 240, .12);--border-strong: rgba(226, 232, 240, .22);--bubble-me: #2c674c;--bubble-me-text: #f7fff9;--bubble-other: #1b2534;--bubble-other-text: #f4f7fb;--thread-bg: #0a0f17}:root[data-theme=light]{--bg: #eef2f7;--surface: #ffffff;--surface-elevated: #f8fafc;--surface-2: #f1f5f9;--surface-hover: rgba(15, 23, 42, .07);--text: #172033;--text-secondary: #3f4e63;--muted: #66758a;--accent: #9a7028;--accent-soft: rgba(154, 112, 40, .12);--accent-border: rgba(154, 112, 40, .35);--accent-text: #ffffff;--border: rgba(15, 23, 42, .12);--border-strong: rgba(15, 23, 42, .22);--bubble-me: #b9ef99;--bubble-me-text: #172033;--bubble-other: #ffffff;--bubble-other-text: #172033;--thread-bg: #e9eef4}.bubble small{display:flex!important;align-items:center;gap:5px;max-width:100%;overflow:hidden;white-space:nowrap!important;text-overflow:ellipsis;line-height:1.2!important;min-height:13px;margin-bottom:5px!important;color:var(--text-secondary)!important;opacity:.9!important;font-variant-numeric:tabular-nums}.bubble .st{white-space:nowrap!important;line-height:1.1!important;color:var(--text-secondary)!important;opacity:.85!important;font-variant-numeric:tabular-nums}.bubble.me small,.bubble.me .st{color:#f7fff9d1!important}.account-avatar-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;border-radius:50%;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text);cursor:pointer}.account-avatar-btn img{width:100%;height:100%;object-fit:cover}.account-avatar-btn span{font-size:13px;font-weight:700}.mode-switch-btn{color:var(--accent)!important;border-color:var(--accent-border)!important}.profile-page-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:18px}.profile-page-head h2{margin:0!important;text-align:center}.profile-page-head>button{white-space:nowrap}.bubble .atts img,.bubble img.zoomable,.bubble .sticker-img{display:block;width:auto!important;height:auto!important;max-width:min(180px,58vw)!important;max-height:140px!important;object-fit:cover!important;border-radius:8px;cursor:zoom-in}.bubble .atts{display:flex;flex-direction:column;gap:5px;margin-top:5px}@media(min-width:800px){.chat-app:not(.embed){max-width:1180px;margin:0 auto;box-shadow:0 0 0 1px var(--border),0 24px 80px #00000047}.thread{padding:24px 8%}.bubble{max-width:62%}}@media(max-width:640px){.chat-header{min-height:58px;padding:10px 12px!important}.chat-header .title{font-size:14px}.chat-header .sub{font-size:10px}.hdr-actions{gap:4px}.hdr-btn{padding:6px 8px;font-size:11px}.account-avatar-btn{width:32px;height:32px;flex-basis:32px}.thread{padding:14px 10px 18px;gap:6px}.bubble{max-width:88%;padding:8px 11px;font-size:14px}.bubble small{font-size:9.5px!important}.profile-page{padding:14px!important}.profile-page-head{position:sticky;top:0;z-index:5;padding:8px 0;background:var(--surface)}}.profile-notify-guide{margin:10px 0 14px;padding:12px 14px;border:1px solid rgba(245,158,11,.45);border-radius:12px;background:#f59e0b1a;color:var(--text, #e5e7eb)}.profile-notify-guide.complete{border-color:#22c55e73;background:#22c55e1a}.profile-notify-guide b{display:block;margin-bottom:4px}.profile-notify-guide p,.notify-guide-strong{margin:4px 0;line-height:1.55}.notify-guide-strong{padding:10px 12px;border-left:3px solid #22c55e;border-radius:8px;background:#22c55e14}.required-mark{color:#f87171;font-style:normal}.notify-test-result{color:#22c55e}.pushplus-onboarding{margin:10px 0 12px;padding:12px 14px;border:1px solid rgba(34,197,94,.28);border-radius:12px;background:#22c55e0f}.pushplus-onboarding b{display:block;margin-bottom:7px}.pushplus-onboarding ol{margin:6px 0 8px 20px;padding:0;line-height:1.65}.pushplus-onboarding li{padding-left:2px}.pushplus-onboarding a{color:var(--primary);text-decoration:underline}.pushplus-onboarding .hint{margin-bottom:0}.pushplus-bound-tip{margin:8px 0 0;color:#22c55e;font-size:.92rem}.profile-page{width:min(100%,680px);max-width:680px;padding:clamp(14px,4vw,28px);overflow-y:auto;max-height:100%}.profile-page .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profile-page .row>button{flex:1 1 180px;min-width:0}.profile-page>button{width:100%;min-height:42px}.profile-page hr{width:100%;border:0;border-top:1px solid var(--border);margin:4px 0}.profile-page input,.profile-page select{min-width:0;width:100%}.notify-test-result.failed{color:var(--danger)}.wx-follow-box{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;padding:12px;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-soft)}.wx-follow-link{text-align:center;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.wx-follow-qr{width:120px;height:120px;object-fit:contain;border-radius:8px;background:#fff}.wx-follow-box small{grid-column:1 / -1;line-height:1.5}@media(max-width:560px){.wx-follow-box{grid-template-columns:1fr}.wx-follow-qr{justify-self:center}}.wx-unavailable{color:var(--muted);font-size:11px;font-weight:500;margin-left:6px}.pushplus-do-not-disturb{margin:10px 0;padding:9px 11px;border-radius:8px;color:#b45309;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28);line-height:1.55}.pushplus-open-qr{display:inline-block;margin:5px 0 8px}.pushplus-qr-preview{display:block;width:160px;max-width:100%;margin:8px auto;border-radius:10px;background:#fff;padding:6px}.msg-receipt{align-self:flex-end;font-size:11px;color:var(--muted);padding:0 4px 6px}.notify-card-title{margin:0 0 8px;font-size:20px;font-weight:720;letter-spacing:-.02em}.notification-highlight{padding:16px 16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2);margin:12px 0}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.btn-primary.tap,button.tap{min-height:44px;padding:10px 16px;border-radius:12px;font-size:15px;font-weight:650;box-shadow:0 2px #0000001f;transform:translateY(0)}.btn-primary.tap:active,button.tap:active{transform:translateY(1px);box-shadow:none}.group-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.group-panel{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.group-member-list{max-height:48vh;overflow-y:auto;-webkit-overflow-scrolling:touch;list-style:none;padding:0;margin:8px 0}.group-member-list li{padding:8px 0;border-bottom:1px solid var(--border)}.group-name{font-size:12px;color:var(--muted);margin:0 0 4px 2px}.group-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(76%,calc(100% - 52px))}.group-head{flex:1;min-width:0;cursor:pointer}.group-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;justify-content:flex-end}.group-drawer-card{width:min(360px,92vw);height:100%;background:var(--bg, #111);padding:16px;overflow:auto}.group-drawer-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.group-member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.group-member-list li{display:flex;gap:8px;align-items:center}.group-name{font-size:12px;opacity:.7;margin:0 4px 2px}.msg-row.me .group-name{text-align:right}.ch-tag{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:4px;background:#2b6cb0;color:#fff;font-size:12px;font-weight:700}.msg-stack{display:flex;flex-direction:column;align-items:flex-start;width:fit-content;max-width:min(76%,calc(100% - 52px),36em)}.msg-row.me .msg-stack{align-items:flex-end}.msg-stack .bubble{width:fit-content;max-width:100%}.group-name{font-size:12px;color:var(--muted);margin:0 2px 4px;line-height:1.2}.wx-member-list,.wx-add-scroll{max-height:48vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.wx-member-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 4px;border-bottom:1px solid var(--line,#f0f0f0);background:none;border-left:0;border-right:0;border-top:0}.profile-hint{display:block;width:100%;border:0;background:#ecf9f0;color:#067544;padding:10px 14px;font-size:14px;text-align:left;cursor:pointer}.profile-hint:active{background:#d8f3e2}.file-bubble.imgonly{background:transparent;border:0;padding:0;display:block}.file-chip{display:inline-block;padding:8px 12px;border-radius:8px;background:var(--surface-2, #f3f3f3);color:var(--text, #111);font-size:14px}
