.reply-bar[data-v-b1363db7]{display:flex;align-items:stretch;gap:.5rem;padding:.45rem .55rem;margin:0 auto .25rem;width:92%;max-width:520px;background:#ffffff8c;border-left:3px solid var(--accent);border-radius:8px}.reply-bar-main[data-v-b1363db7]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.reply-bar-name[data-v-b1363db7]{font-size:.78rem;font-weight:600}.reply-bar-preview[data-v-b1363db7]{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cancel-reply[data-v-b1363db7]{background:transparent;border:none;color:var(--muted);font-size:1.5rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none}.cancel-reply[data-v-b1363db7]:hover{background:transparent;color:var(--text)}.menu-backdrop[data-v-b1363db7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}.context-menu[data-v-b1363db7]{position:fixed;z-index:1000;display:inline-flex;flex-direction:column;width:max-content;min-width:0;padding:.12rem;background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);border-radius:8px;box-shadow:0 4px 14px #0000001a}.context-menu button[data-v-b1363db7]{display:block;width:100%;padding:.32rem .55rem;text-align:center;background:transparent;color:var(--text);font-size:.76rem;font-weight:500;line-height:1.2;border-radius:5px;box-shadow:none;white-space:nowrap}.context-menu button+button[data-v-b1363db7]{margin-top:.05rem}.context-menu button[data-v-b1363db7]:active{background:#0000000f}.context-menu .recall-btn[data-v-b1363db7]{color:#d32f2f}.image-btn[data-v-b1363db7]{cursor:pointer;padding:.28rem;color:var(--muted);display:flex;align-items:center;transition:color .2s}.image-btn[data-v-b1363db7]:hover{color:var(--accent)}.image-btn input[type=file][data-v-b1363db7]{display:none}.composer[data-v-b1363db7]{display:flex;align-items:center;gap:.3rem;padding:.22rem .28rem;margin:0 auto;width:92%;max-width:520px;background:#ffffff73;border:1px solid var(--glass-border);border-radius:12px;flex-shrink:0}.composer input[data-v-b1363db7]{flex:1;min-width:0;padding:.32rem .5rem;font-size:.8rem;border-radius:10px}.send-btn[data-v-b1363db7]{flex-shrink:0;padding:.35rem .55rem;min-width:52px;height:32px;font-size:.8rem;display:flex;align-items:center;justify-content:center;border-radius:10px}.image-bubble[data-v-b1363db7]{padding:.3rem;max-width:280px}.image-bubble img[data-v-b1363db7],.chat-image[data-v-b1363db7]{max-width:100%;height:auto;border-radius:12px;cursor:zoom-in;transition:opacity .2s}.image-bubble img[data-v-b1363db7]:hover,.chat-image[data-v-b1363db7]:hover{opacity:.92}.image-lightbox[data-v-b1363db7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000e0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lightbox-image[data-v-b1363db7]{max-width:min(96vw,1200px);max-height:92vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0006;cursor:default}.lightbox-close[data-v-b1363db7]{position:fixed;top:1rem;right:1rem;width:40px;height:40px;padding:0;font-size:1.6rem;line-height:1;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:none;cursor:pointer}.lightbox-close[data-v-b1363db7]:hover{background:#ffffff47}.bubble.has-quote[data-v-b1363db7]{display:flex;flex-direction:column;gap:.35rem;padding-top:.45rem}.quote-block[data-v-b1363db7]{padding:.35rem .5rem;background:#0000000f;border-left:3px solid rgba(51,144,236,.55);border-radius:6px}.quote-name[data-v-b1363db7]{font-size:.75rem;font-weight:600;line-height:1.3}.quote-text[data-v-b1363db7]{margin-top:.15rem;font-size:.78rem;color:var(--muted);line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bubble-body[data-v-b1363db7]{margin:0;line-height:1.45}.msg-row.mine .quote-block[data-v-b1363db7]{background:#0000000d;border-left-color:#2d6a4f80}@media(max-width:480px){.app[data-v-b1363db7]{max-width:100%;border-radius:0;padding:.25rem;margin:0;height:100%}.login[data-v-b1363db7]{max-width:100%}.chat[data-v-b1363db7],.messages[data-v-b1363db7]{padding:.25rem}.msg-row[data-v-b1363db7]{max-width:85%}.image-bubble[data-v-b1363db7]{max-width:220px}.composer[data-v-b1363db7]{padding:.25rem .3rem}}@media(min-width:481px)and (max-width:767px){.app[data-v-b1363db7]{max-width:100%;margin:10px auto;height:calc(100vh - 20px);padding:.5rem}}@media(min-width:768px)and (max-width:1023px){.app[data-v-b1363db7]{max-width:100%;margin:15px auto;height:calc(100vh - 30px);padding:.75rem}.image-bubble[data-v-b1363db7]{max-width:320px}}@media(min-width:1024px){.app[data-v-b1363db7]{max-width:100%;margin:20px auto;height:calc(100vh - 40px);padding:1rem}.image-bubble[data-v-b1363db7]{max-width:400px}}.app[data-v-b1363db7]{max-width:100%;margin:0 auto;height:100%;display:flex;flex-direction:column;padding:.5rem;font-family:inherit;background:radial-gradient(ellipse 75% 55% at 5% 5%,rgba(140,195,155,.5),transparent 62%),radial-gradient(ellipse 70% 50% at 95% 95%,rgba(115,170,200,.55),transparent 58%),linear-gradient(165deg,#afd7b4c7,#a0c8dcd1 45%,#91bcd2d9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:var(--glass-shadow);overflow:hidden}.header[data-v-b1363db7]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin:-.25rem -.25rem 0;background:#ffffff80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.62);box-shadow:0 2px 12px #0000000f;border-radius:18px}.title[data-v-b1363db7]{font-family:var(--font-system);font-size:1.1rem;font-weight:600;letter-spacing:.02em;color:var(--text)}@media(min-width:769px){.title[data-v-b1363db7]{font-family:var(--font-title-desktop)}}.badge[data-v-b1363db7]{font-size:.85rem;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid;padding:.25rem .75rem;border-radius:999px}.login[data-v-b1363db7]{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.75rem;max-width:320px;margin:0 auto;width:100%;padding:1.5rem;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none}.hint[data-v-b1363db7]{color:var(--muted);font-size:.9rem}.room-hint[data-v-b1363db7]{font-size:.78rem;color:var(--muted);line-height:1.45}.room-hint code[data-v-b1363db7]{font-size:.76rem;padding:.1rem .3rem;border-radius:4px;background:#ffffff80}.error[data-v-b1363db7]{color:#b91c1c;font-size:.85rem}.muted[data-v-b1363db7]{color:var(--muted);font-size:.85rem}.chat[data-v-b1363db7]{flex:1;display:flex;flex-direction:column;min-height:0;gap:.5rem;padding:.4rem;border-radius:16px;overflow:hidden;background:transparent;border:none}.messages[data-v-b1363db7]{flex:1;overflow-y:auto;list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:.5rem .35rem;min-height:120px;background-color:transparent;scrollbar-width:none;-ms-overflow-style:none}.messages[data-v-b1363db7]::-webkit-scrollbar{display:none}.msg-row[data-v-b1363db7]{display:flex;flex-direction:column;max-width:78%}.msg-row[data-v-b1363db7]:not(.system){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.msg-row.other[data-v-b1363db7]{align-self:flex-start}.msg-row.mine[data-v-b1363db7]{align-self:flex-end;align-items:flex-end}.msg-row.mine .meta[data-v-b1363db7]{margin-left:0;margin-right:.35rem}.msg-row .bubble[data-v-b1363db7]{margin:0;padding:.4rem .7rem;font-size:.88rem;line-height:1.4;word-break:break-word;border-radius:16px;border:1px solid var(--glass-border);box-shadow:0 1px 8px #0000000f}.msg-row.other .bubble[data-v-b1363db7]{background:#ffffff47;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px 16px 16px 5px}.msg-row.mine .bubble[data-v-b1363db7]{background:#c8ffc847;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#ffffff52;border-radius:16px 16px 5px;color:#0a0a08}.msg-row.system[data-v-b1363db7]{align-self:center;max-width:100%}.msg-row.system .system-text[data-v-b1363db7]{display:inline-block;background:transparent;border:none;border-radius:999px;padding:.3rem .9rem}.system-text[data-v-b1363db7]{font-size:.8rem;color:var(--system);font-weight:500}.meta[data-v-b1363db7]{display:flex;align-items:baseline;gap:.4rem;margin:0 0 .2rem .35rem}.meta strong[data-v-b1363db7]{font-size:.85rem;font-weight:600}.meta time[data-v-b1363db7]{font-size:.75rem;color:var(--muted)}.image-btn svg[data-v-b1363db7]{width:20px;height:20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text: #0a0a08;--muted: rgba(10, 10, 8, .65);--accent: #3390ec;--accent-hover: #2b7cd3;--system: rgba(10, 10, 8, .75);--glass-bg: rgba(255, 255, 255, .52);--glass-bg-strong: rgba(255, 255, 255, .68);--glass-border: rgba(255, 255, 255, .65);--glass-shadow: 0 8px 32px rgba(31, 38, 135, .12);--bubble-other: rgba(255, 255, 255, .55);--bubble-mine: rgba(255, 255, 255, .55);--blur: 16px;--font-system: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-title-desktop: "Microsoft YaHei", "微软雅黑", var(--font-system);--chat-bg: radial-gradient(ellipse 90% 65% at 12% 8%, rgba(130, 185, 150, .4), transparent 58%), radial-gradient(ellipse 85% 60% at 88% 92%, rgba(110, 165, 195, .45), transparent 52%), linear-gradient( 165deg, #d0e4d6 0%, #c8dce6 42%, #bfd4e2 72%, #b5cad8 100% );--bubble-mine-text: #0a0a08}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{min-height:100%;height:100%}body,#app,button,input{font-family:var(--font-system);color:var(--text);line-height:1.5;background-color:#c5d6e0;background-image:var(--chat-bg);background-attachment:fixed}button{cursor:pointer;border:none;background:var(--accent);color:#fff;padding:.6rem 1.2rem;border-radius:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px #3390ec47;transition:background .15s}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}input{border:1px solid var(--glass-border);border-radius:14px;padding:.6rem .85rem;background:var(--glass-bg);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));color:var(--text);width:100%;box-shadow:inset 0 1px 2px #ffffff80}input:focus{outline:2px solid rgba(51,144,236,.45);outline-offset:1px;background:var(--glass-bg-strong)}
