:root{--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-app: #efeae2;--bg-header: #075e54;--bg-header-sub: #128c7e;--text-header: #ffffff;--text-header-muted: #e0f2f1;--bg-bubble-other: #ffffff;--bg-bubble-self: #d9fdd3;--bg-bubble-system: #f0f2f5;--text-primary: #111b21;--text-secondary: #667781;--text-muted: #8696a0;--text-link: #027eb5;--text-system: #54656f;--border-subtle: #e9edef;--shadow-bubble: 0 1px .5px rgba(11, 20, 26, .13);--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--accent-color: #00a884;--accent-hover: #008f70;--accent-light: #e6f7f3;--highlight-bg: #ffe066;--highlight-text: #000000;--modal-bg: rgba(255, 255, 255, .95);--modal-card: #ffffff}[data-theme=dark]{--bg-app: #0b141a;--bg-header: #202c33;--bg-header-sub: #111b21;--text-header: #e9edef;--text-header-muted: #8696a0;--bg-bubble-other: #202c33;--bg-bubble-self: #005c4b;--bg-bubble-system: #182229;--text-primary: #e9edef;--text-secondary: #8696a0;--text-muted: #667781;--text-link: #53bdeb;--text-system: #8696a0;--border-subtle: #222d34;--shadow-bubble: 0 1px .5px rgba(0, 0, 0, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--accent-color: #00a884;--accent-hover: #00c99e;--accent-light: #112d27;--highlight-bg: #856404;--highlight-text: #ffffff;--modal-bg: rgba(11, 20, 26, .95);--modal-card: #111b21}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);line-height:1.4;overflow-x:hidden;height:100vh;height:100dvh}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:900px;margin:0 auto;background-color:var(--bg-app);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.app-header{background-color:var(--bg-header);color:var(--text-header);padding:12px 16px;display:flex;flex-direction:column;gap:10px;z-index:20;box-shadow:0 2px 8px #00000026;transition:background-color .3s ease}.header-top{display:flex;align-items:center;justify-content:space-between}.group-info{display:flex;align-items:center;gap:12px}.group-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#128c7e,#075e54);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;box-shadow:0 2px 6px #0003}.group-details h1{font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}@media(min-width:600px){.group-details h1{max-width:400px;font-size:18px}}.group-details p{font-size:12px;color:var(--text-header-muted)}.header-actions{display:flex;align-items:center;gap:6px}.icon-btn{background:transparent;border:none;color:var(--text-header);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.icon-btn:hover,.icon-btn:active{background-color:#ffffff26}.icon-btn.active{background-color:#ffffff40}.toolbar-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search-input-wrapper{flex:1;min-width:200px;position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 36px;border-radius:20px;border:none;background-color:#fff3;color:#fff;font-size:13px;font-family:inherit;outline:none;transition:background-color .2s,box-shadow .2s}.search-input::placeholder{color:#ffffffb3}.search-input:focus{background-color:#ffffff4d;box-shadow:0 0 0 2px #fff6}.clear-search-btn{position:absolute;right:10px;background:none;border:none;color:#fff;cursor:pointer;font-size:14px}.filter-select{background-color:#fff3;color:#fff;border:none;padding:8px 12px;border-radius:20px;font-size:13px;font-family:inherit;outline:none;cursor:pointer;max-width:140px;text-overflow:ellipsis}.filter-select option{background-color:var(--bg-header);color:var(--text-header)}.order-toggle-btn{display:inline-flex;align-items:center;gap:6px;background-color:#ffffff40;color:#fff;border:none;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.order-toggle-btn:hover{background-color:#ffffff59}.info-subbar{background-color:var(--bg-header-sub);color:var(--text-header-muted);padding:6px 16px;font-size:12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1)}.chat-stream{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:10px;position:relative;background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 0);background-size:24px 24px}[data-theme=dark] .chat-stream{background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 0)}.date-separator{align-self:center;margin:12px 0 6px;position:sticky;top:8px;z-index:10}.date-pill{background-color:var(--bg-bubble-system);color:var(--text-system);font-size:11px;font-weight:600;padding:5px 12px;border-radius:8px;box-shadow:0 1px 2px #0000001a;text-transform:uppercase;letter-spacing:.5px}.chat-bubble-wrapper{display:flex;flex-direction:column;max-width:85%;position:relative;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-bubble-wrapper.align-self{align-self:flex-end}.chat-bubble-wrapper.align-other{align-self:flex-start}.chat-bubble-wrapper.align-system{align-self:center;max-width:90%}.chat-bubble{padding:8px 12px 6px;border-radius:12px;position:relative;box-shadow:var(--shadow-bubble);word-wrap:break-word;white-space:pre-wrap;font-size:14px;line-height:1.45}.chat-bubble.bubble-self{background-color:var(--bg-bubble-self);color:var(--text-primary);border-top-right-radius:2px}.chat-bubble.bubble-other{background-color:var(--bg-bubble-other);color:var(--text-primary);border-top-left-radius:2px}.chat-bubble.bubble-system{background-color:var(--bg-bubble-system);color:var(--text-system);font-size:12px;text-align:center;padding:6px 14px;border-radius:10px}.sender-name{font-weight:700;font-size:12px;margin-bottom:3px;display:flex;align-items:center;justify-content:space-between;gap:8px}.bubble-meta{float:right;margin-left:12px;margin-top:4px;font-size:10px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.edited-tag{font-style:italic;font-size:10px;color:var(--text-muted)}.bubble-action-btn{position:absolute;top:4px;right:4px;background:#0000000d;border:none;border-radius:4px;padding:4px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}[data-theme=dark] .bubble-action-btn{background:#ffffff1a}.chat-bubble:hover .bubble-action-btn{opacity:1}.bubble-action-btn:hover{background-color:var(--accent-color);color:#fff}.mention-pill{color:var(--text-link);font-weight:600;background-color:#027eb51a;padding:1px 5px;border-radius:4px;display:inline-block}.floating-copy-bar{position:sticky;bottom:12px;left:50%;transform:translate(-50%);z-index:30;background-color:var(--modal-card);color:var(--text-primary);border-radius:30px;padding:8px 18px;box-shadow:0 6px 24px #00000040;display:flex;align-items:center;gap:12px;border:1px solid var(--border-subtle);animation:slideUp .2s ease-out;width:max-content;max-width:90%}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.btn-primary{background-color:var(--accent-color);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background-color .2s,transform .1s}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:active{transform:scale(.97)}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.btn-secondary:hover{background-color:#0000000d}.highlight-text{background-color:var(--highlight-bg);color:var(--highlight-text);border-radius:2px;padding:0 2px;font-weight:600}.scroll-nav-btn{position:absolute;right:16px;bottom:70px;width:42px;height:42px;border-radius:50%;background-color:var(--modal-card);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;transition:transform .2s}.scroll-nav-btn:hover{transform:scale(1.08)}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;background-color:#111b21;color:#fff;padding:10px 20px;border-radius:24px;font-size:13px;font-weight:600;box-shadow:0 4px 16px #0000004d;display:flex;align-items:center;gap:8px;animation:popIn .25s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s}.modal-content{background-color:var(--modal-card);color:var(--text-primary);border-radius:16px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:18px;font-weight:700}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer}.stat-card{background-color:var(--bg-bubble-system);padding:12px;border-radius:10px;margin-bottom:10px}.stat-card h3{font-size:12px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.stat-card p{font-size:18px;font-weight:700;color:var(--accent-color)}.top-senders-list{list-style:none;display:flex;flex-direction:column;gap:8px}.top-sender-item{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.top-sender-item:last-child{border-bottom:none}@media(max-width:480px){.app-header{padding:10px 12px}.search-input-wrapper{min-width:140px}.chat-bubble-wrapper{max-width:90%}.floating-copy-bar{padding:6px 12px;gap:8px}}
