.wc-page{background:var(--bg-primary);z-index:1;flex-direction:column;max-width:800px;margin:0 auto;display:flex;position:fixed;inset:0;overflow:hidden}.wc-header{background:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:30;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.wc-back{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.4rem;text-decoration:none;transition:background .15s}.wc-back:hover{background:var(--hover-bg)}.wc-header-info{flex:1}.wc-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700;line-height:1.2}.wc-online{color:var(--text-muted);align-items:center;gap:5px;font-size:.78rem;display:flex}.wc-online-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;transition:background .3s}.wc-online-dot.connected{background:#4caf50}.wc-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:6px;padding:12px 16px 8px;display:flex;overflow-y:auto}.wc-messages-spacer{flex:1;min-height:0}.wc-loading,.wc-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-size:.9rem;display:flex}.wc-empty-icon{opacity:.5;font-size:2.5rem}.wc-auth-required{color:var(--text-primary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.wc-auth-required h2{font-size:1.4rem}.wc-auth-required p{color:var(--text-muted)}.wc-auth-link{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:22px;padding:10px 32px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s}.wc-auth-link:hover{background:var(--primary-hover)}.wc-scroll-bottom{background:var(--card-bg);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow);z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:background .15s;display:flex;position:absolute;bottom:120px;right:20px}.wc-scroll-bottom:hover{background:var(--hover-bg)}.chat-bubble-row{align-items:flex-end;gap:6px;max-width:85%;animation:.2s ease-out bubbleIn;display:flex}.chat-bubble-row.own{flex-direction:row;align-self:flex-end}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-avatar-wrap{width:48px;height:55px;color:inherit;flex-shrink:0;align-self:flex-end;text-decoration:none;display:block;position:relative;overflow:visible}.chat-avatar-section{border-radius:12px;justify-content:center;align-items:center;width:48px;height:55px;display:flex;overflow:hidden}.chat-avatar-img{object-fit:cover;border-radius:12px;width:48px;height:55px}.chat-avatar-placeholder{background:linear-gradient(135deg,var(--primary-color),#ff7043);color:#fff;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;width:48px;height:55px;font-size:1.4rem;font-weight:700;display:flex}.chat-frame-overlay{pointer-events:none;z-index:10;background:50%/100% 100% no-repeat;border-radius:12px;width:48px;height:55px;position:absolute;top:0;left:0;transform:scale(1.2)}.chat-frame-overlay.frame-video{object-fit:contain;background:0 0;width:48px;height:55px}.chat-crown{z-index:25;pointer-events:none;filter:drop-shadow(0 2px 4px #0000004d);font-size:17px;line-height:1;animation:2s ease-in-out infinite crownFloat;position:absolute;top:-18px;left:50%;transform:translate(-50%)}@keyframes crownFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-4px)}}.chat-bubble{word-wrap:break-word;overflow-wrap:break-word;cursor:pointer;border-radius:16px;max-width:100%;margin-bottom:18px;padding:8px 12px;transition:box-shadow .15s;position:relative}.chat-bubble:active{box-shadow:0 0 0 2px var(--primary-color)}.bubble-other{background:#ffffff14;border-bottom-left-radius:4px}.bubble-own{color:#fff;background:#ffffff14;border-bottom-right-radius:4px}.chat-bubble.deleted{border:1px dashed var(--border-color);background:0 0;padding:6px 12px}.deleted-text{color:var(--text-muted);font-size:.82rem;font-style:italic}.bubble-header{align-items:center;gap:6px;margin-bottom:2px;display:flex}.bubble-username{color:var(--primary-color);font-size:.8rem;font-weight:700;text-decoration:none}.bubble-username.admin-name{color:#ef5350}.bubble-own .bubble-username{color:#ffffffd9}.donor-badge{border-radius:6px;padding:1px 5px;font-size:.68rem;font-weight:700;line-height:1}.donor-label-gold{color:#1a1a1a;background:linear-gradient(135deg,gold,#ffb300)}.donor-label-silver{color:#1a1a1a;background:linear-gradient(135deg,silver,#9e9e9e)}.donor-label-accent{background:var(--primary-color);color:#fff}.donor-label-subtle{background:var(--hover-bg);color:var(--text-muted)}.admin-badge{color:#fff;letter-spacing:.5px;background:#ef5350;border-radius:4px;padding:1px 5px;font-size:.62rem;font-weight:700}.donor-gold{box-shadow:0 0 0 2px gold,0 0 8px #ffd7004d}.donor-silver{box-shadow:0 0 0 2px silver,0 0 6px #c0c0c040}.donor-accent{box-shadow:0 0 0 1.5px var(--primary-color)}.donor-subtle{box-shadow:0 0 0 1px #ff8a504d}.bubble-reply-preview{border-left:3px solid var(--primary-color);background:#dddddd26;border-radius:4px;flex-direction:column;gap:1px;margin-bottom:4px;padding:4px 8px;display:flex}.bubble-own .bubble-reply-preview{background:#dddddd26;border-left-color:#fff9}.reply-author{color:var(--primary-color);font-size:.72rem;font-weight:700}.bubble-own .reply-author{color:#ffffffd9}.reply-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.78rem;overflow:hidden}.bubble-own .reply-text{color:#ffffffb3}.bubble-text{margin:0;font-size:.92rem;line-height:1.4}.bubble-sticker{padding:4px 0}.sticker-img{object-fit:contain;width:120px;height:120px}.bubble-time{float:right;opacity:.5;white-space:nowrap;margin-top:4px;margin-left:8px;font-size:.65rem}.actions-overlay{z-index:99;position:fixed;inset:0}.actions-menu{background:var(--card-bg);border:1px solid var(--border-color);min-width:160px;box-shadow:var(--shadow);z-index:100;border-radius:12px;padding:4px;animation:.15s ease-out fadeIn;position:absolute;bottom:calc(100% + 4px);right:0}.chat-bubble-row.own .actions-menu{left:auto;right:0}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.actions-reactions{border-bottom:1px solid var(--border-color);gap:6px;margin-bottom:2px;padding:6px 8px;display:flex}.actions-reaction-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;transition:background .15s,border-color .15s,color .15s;display:flex}.actions-reaction-btn:hover{border-color:var(--text-muted);background:#ffffff14}.actions-reaction-btn.active{color:var(--primary-color);border-color:var(--primary-color);background:#ff8a501a}.actions-item{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;transition:background .15s;display:flex}.actions-item:hover{background:var(--hover-bg)}.actions-item--danger{color:#ef5350}.chat-input-wrapper{padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:var(--card-bg);border-top:1px solid var(--border-color);z-index:20;flex-shrink:0;position:relative}.input-reply-preview{background:var(--hover-bg);border-left:3px solid var(--primary-color);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 12px;display:flex}.input-reply-content{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.input-reply-icon{color:var(--primary-color);font-size:.9rem}.input-reply-author{color:var(--primary-color);white-space:nowrap;font-size:.78rem;font-weight:700}.input-reply-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.input-reply-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:4px 6px;font-size:.85rem}.input-reply-close:hover{color:var(--text-primary);background:var(--hover-bg)}.chat-ban-notice{color:#ef5350;text-align:center;background:#ef53501a;border:1px solid #ef53504d;border-radius:10px;margin-bottom:6px;padding:6px 12px;font-size:.82rem}.chat-input-error{color:#ef5350;margin-bottom:4px;padding:4px 12px;font-size:.78rem}.chat-input-row{background:var(--input-bg);border:1px solid var(--input-border);border-radius:22px;align-items:center;gap:8px;padding:4px 4px 4px 12px;transition:border-color .2s;display:flex}.chat-input-row:focus-within{border-color:var(--primary-color)}.chat-sticker-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px;font-size:1.35rem;line-height:1;transition:opacity .15s,transform .1s}.chat-sticker-btn:hover{opacity:1;transform:scale(1.1)}.chat-sticker-btn:active{transform:scale(.95)}.chat-sticker-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.chat-input-field{color:var(--input-text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0;font-size:.92rem}.chat-input-field::placeholder{color:var(--text-muted)}.char-counter{color:var(--text-muted);flex-shrink:0;font-size:.7rem}.char-counter--warn{color:#ef5350;font-weight:700}.chat-send-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .15s,opacity .15s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.picker-overlay{z-index:14;background:#0000004d;position:fixed;inset:0}.sticker-picker{z-index:15;background:var(--card-bg);border-top:1px solid var(--border-color);flex-direction:column;max-height:280px;animation:.2s ease-out slideUp;display:flex;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sticker-tabs{border-bottom:1px solid var(--border-color);flex-shrink:0;gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.sticker-tabs::-webkit-scrollbar{height:0}.sticker-tab{background:var(--hover-bg);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:3px;transition:border-color .15s}.sticker-tab.active{border-color:var(--primary-color)}.sticker-tab-img{object-fit:contain;border-radius:6px;width:100%;height:100%}.sticker-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 12px;display:grid;overflow-y:auto}.sticker-cell{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:4px;transition:background .15s,transform .1s}.sticker-cell:hover{background:var(--hover-bg)}.sticker-cell:active{transform:scale(.92)}.sticker-cell-img{object-fit:contain;width:100%;height:100%}.sticker-empty{text-align:center;color:var(--text-muted);padding:30px;font-size:.85rem}.manga-picker{background:var(--card-bg);border-top:1px solid var(--border-color);z-index:15;flex-direction:column;max-height:50dvh;animation:.2s ease-out slideUp;display:flex;position:relative}.manga-picker-search{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:10px 12px}.manga-search-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:10px;outline:none;padding:8px 12px;font-family:inherit;font-size:.88rem}.manga-search-input:focus{border-color:var(--primary-color)}.manga-search-input::placeholder{color:var(--text-muted)}.manga-picker-list{flex:1;padding:4px 0;overflow-y:auto}.manga-picker-empty{text-align:center;color:var(--text-muted);padding:30px;font-size:.85rem}.manga-result-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;transition:background .15s;display:flex}.manga-result-item:hover{background:var(--hover-bg)}.manga-result-item:active{background:#ff8a501a}.manga-result-cover{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:56px}.manga-result-info{flex-direction:column;gap:2px;min-width:0;display:flex}.manga-result-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.manga-result-rating{color:#ffa726;font-size:.75rem}.chat-manga-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px;font-size:1.35rem;line-height:1;transition:opacity .15s,transform .1s}.chat-manga-btn:hover{opacity:1;transform:scale(1.1)}.chat-manga-btn:active{transform:scale(.95)}.chat-manga-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.bubble-manga-card{color:inherit;background:#ffffff14;border-radius:10px;gap:10px;margin:4px 0;padding:6px;text-decoration:none;transition:background .15s;display:flex}.bubble-manga-card:hover{background:#ffffff24}.bubble-manga-cover{object-fit:cover;border-radius:6px;flex-shrink:0;width:48px;height:68px}.bubble-manga-info{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.bubble-manga-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.bubble-manga-rating{color:#ffa726;font-size:.75rem}.bubble-manga-link{color:var(--primary-color);font-size:.75rem;font-weight:600}.ban-modal-overlay{background:var(--overlay-bg);z-index:200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ban-modal{background:var(--modal-bg);border-radius:16px;width:100%;max-width:380px;padding:24px;animation:.2s ease-out fadeIn}.ban-modal-title{color:var(--text-primary);margin-bottom:16px;font-size:1.1rem;font-weight:700}.ban-durations{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.ban-duration-btn{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:8px 14px;font-size:.85rem;transition:border-color .15s,background .15s}.ban-duration-btn:hover{border-color:var(--primary-color)}.ban-duration-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ban-reason-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);resize:none;border-radius:10px;outline:none;margin-bottom:16px;padding:10px 12px;font-family:inherit;font-size:.85rem}.ban-reason-input:focus{border-color:var(--primary-color)}.ban-modal-actions{justify-content:flex-end;gap:10px;display:flex}.ban-cancel-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:10px;padding:8px 20px;font-size:.85rem;transition:background .15s}.ban-cancel-btn:hover{background:var(--hover-bg)}.ban-confirm-btn{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:10px;padding:8px 20px;font-size:.85rem;font-weight:600;transition:background .15s}.ban-confirm-btn:hover:not(:disabled){background:#e53935}.ban-confirm-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:600px){.wc-page{max-width:100%}.chat-bubble-row{max-width:90%}.sticker-grid{grid-template-columns:repeat(4,1fr)}.sticker-img{width:100px;height:100px}}
