.cd-overlay{position:fixed;inset:0;z-index:1000;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.cd-dialog{background:#141414;border:1px solid rgba(255,165,0,.25);border-radius:14px;padding:1.5rem 1.75rem 1.25rem;width:min(360px,90vw);box-shadow:0 12px 48px #0009,0 0 0 1px #ffa50014;animation:cd-in .15s ease-out}@keyframes cd-in{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cd-title{font-size:1rem;font-weight:700;color:#ffffffe6;margin-bottom:.5rem}.cd-message{font-size:.85rem;color:#ffffff80;line-height:1.5;margin-bottom:.85rem}.cd-message strong{color:orange;font-weight:700}.cd-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.1rem}.cd-cancel{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffff8c;font-size:.85rem;padding:.45rem 1rem;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.cd-cancel:hover{background:#ffffff1a;color:#ffffffd9}.cd-confirm{border-radius:8px;font-size:.85rem;font-weight:600;padding:.45rem 1rem;cursor:pointer;font-family:inherit;border:1px solid;transition:background .15s}.cd-confirm-danger{background:#e74c3c1f;border-color:#e74c3c59;color:#e74c3c}.cd-confirm-danger:hover{background:#e74c3c40}.cd-confirm-primary{background:#ffa5001f;border-color:#ffa50059;color:orange}.cd-confirm-primary:hover{background:#ffa50040}.cd-report-reasons{display:flex;flex-direction:column;gap:.3rem}.cd-report-reason{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.06);background:#ffffff08;transition:background .12s,border-color .12s;user-select:none}.cd-report-reason:hover{background:#ffa5000f;border-color:#ffa50026}.cd-report-reason-active{background:#ffa5001a!important;border-color:#ffa50059!important}.cd-report-reason input[type=radio]{display:none}.cd-report-reason-icon{font-size:.95rem;flex-shrink:0;width:1.25rem;text-align:center}.cd-report-reason-label{font-size:.84rem;color:#ffffffb3}.chat-pm-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid rgba(255,165,0,.15);background:#ffffff04;overflow:hidden}.chat-pm-header{flex-shrink:0;display:flex;align-items:center;padding:.6rem .75rem .5rem;border-bottom:1px solid rgba(255,165,0,.15);gap:.4rem}.chat-pm-title{flex:1;font-weight:700;color:orange;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-pm-close{background:none;border:none;color:#ffffff4d;font-size:1.1rem;cursor:pointer;padding:.1rem .3rem;line-height:1;border-radius:4px;flex-shrink:0;transition:color .15s}.chat-pm-close:hover{color:#ffffffb3}.chat-pm-panel .chat-messages{padding:.75rem}.chat-pm-loading-wrap{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem}.chat-pm-input-area{flex-shrink:0;border-top:1px solid rgba(255,165,0,.15);padding:.6rem .75rem;background:#ffffff05}.chat-pm-input-row{display:flex;gap:.5rem;align-items:flex-end}.chat-pm-textarea{flex:1;background:#ffffff0d;border:1px solid rgba(255,165,0,.2);border-radius:8px;color:#ffffffe6;font-size:.875rem;line-height:1.4;padding:.5rem .6rem;resize:none;transition:border-color .15s;font-family:inherit;min-height:2.5rem;max-height:7rem}.chat-pm-textarea::placeholder{color:#ffffff40;font-size:.8rem}.chat-pm-textarea:focus{outline:none;border-color:#ffa50080}.chat-pm-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-pm-send-btn{background:#ffa50026;border:1px solid rgba(255,165,0,.3);border-radius:8px;color:orange;font-size:1rem;width:2.4rem;height:2.4rem;cursor:pointer;transition:background .15s,transform .1s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-pm-send-btn:hover:not(:disabled){background:#ffa50047}.chat-pm-send-btn:active:not(:disabled){transform:scale(.94)}.chat-pm-send-btn:disabled{opacity:.3;cursor:not-allowed}@media(max-width:768px){.chat-pm-textarea{font-size:16px}.chat-pm-panel{position:fixed;top:var(--nav-height-mobile, 70px);right:0;width:100%;height:calc(100dvh - var(--nav-height-mobile, 70px));z-index:1002;background:#0a0a0a;border-left:none;border-right:none;box-shadow:-8px 0 32px #000000b3;animation:pm-slide-in .25s ease forwards}@keyframes pm-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}}body:has(.chat-window),body:has(.chat-login-wall){display:flex;flex-direction:column;height:100dvh;overflow:hidden}body:has(.chat-window)>main,body:has(.chat-login-wall)>main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}body:has(.chat-window)>main>astro-island,body:has(.chat-login-wall)>main>astro-island{display:flex;flex:1;min-height:0;width:100%;overflow:hidden}.chat-window{display:flex;flex-direction:row;flex:1;width:100%;height:100%;min-height:0;overflow:hidden;background:#ffffff05}.chat-online-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.07);background:#ffffff04;overflow:hidden}.chat-online-header{padding:.6rem .75rem .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;display:flex;align-items:center;gap:.4rem}.chat-online-count{background:#ffa50026;color:orange;border-radius:999px;padding:.05rem .45rem;font-size:.7rem;font-weight:700}.chat-online-list{list-style:none;margin:0;padding:.4rem 0;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,165,0,.15) transparent}.chat-online-user{display:flex;align-items:center;gap:.35rem;padding:.3rem .75rem;min-width:0}.chat-online-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;opacity:.85;align-self:flex-start;margin-top:.3rem}.chat-online-info{display:flex;flex-direction:column;min-width:0;flex:1;gap:.05rem}.chat-online-name-row{display:flex;align-items:center;gap:.25rem;min-width:0}.chat-online-name{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-online-server{font-size:.65rem;color:#ffffff4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-online-role{font-size:.65rem;flex-shrink:0;opacity:.7}.chat-online-empty{padding:.5rem .75rem;color:#fff3;font-size:.8rem}.chat-online-pm-btn{background:none;border:none;color:#fff0;cursor:pointer;padding:.1rem .25rem;border-radius:3px;font-size:.7rem;flex-shrink:0;transition:color .15s,opacity .15s;line-height:1}.chat-online-user:hover .chat-online-pm-btn{color:#ffa5008c}.chat-online-pm-btn:hover{color:orange!important}.chat-pm-contacts{flex-shrink:0;border-bottom:1px solid rgba(255,165,0,.1);padding:.3rem 0}.chat-pm-contacts-header{padding:.5rem .75rem .3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59}.chat-pm-contact-row{display:flex;align-items:stretch;position:relative}.chat-pm-contact{flex:1;min-width:0;display:flex;align-items:center;gap:.4rem;padding:.28rem .25rem .28rem .75rem;background:none;border:none;border-left:2px solid transparent;cursor:pointer;text-align:left;transition:background .12s;box-sizing:border-box}.chat-pm-contact-row:hover .chat-pm-contact{background:#ffa50012}.chat-pm-contact-active{background:#ffa5001f!important;border-left-color:orange}.chat-pm-contact-remove{background:none;border:none;color:#fff0;cursor:pointer;padding:0 .5rem;font-size:.85rem;line-height:1;flex-shrink:0;transition:color .15s}.chat-pm-contact-row:hover .chat-pm-contact-remove{color:#ffffff40}.chat-pm-contact-remove:hover{color:#e74c3c!important}.chat-pm-contact-icon{color:#ffa50080;font-size:.7rem;flex-shrink:0}.chat-pm-contact-name{font-size:.78rem;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.chat-pm-unread-count{min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;flex-shrink:0;box-sizing:border-box}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.chat-tabs{display:flex;flex-shrink:0;width:100%;border-bottom:1px solid rgba(255,165,0,.15);background:#ffffff08;overflow-x:auto;scrollbar-width:none}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab{flex:1;min-width:max-content;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff73;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.chat-tab:hover:not(.chat-tab-disabled):not(.chat-tab-active){color:#ffffffbf}.chat-tab-active{color:orange;border-bottom-color:orange}.chat-tab-disabled{opacity:.35;cursor:not-allowed}.chat-tab-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#e74c3c;border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;margin-left:5px;vertical-align:middle;flex-shrink:0;line-height:1}.chat-messages{flex:1;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;scroll-behavior:smooth;box-sizing:border-box}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#ffa50033;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffa50066}.chat-msg-row{display:flex;width:100%;box-sizing:border-box;align-items:stretch}.chat-msg-row-own{justify-content:flex-end}.chat-msg-row-other{justify-content:flex-start}.chat-bubble{max-width:75%;min-width:0;display:flex;flex-direction:column;gap:.25rem;padding:.55rem .85rem .45rem}.chat-bubble-own{background:#ffa5002e;border:1px solid rgba(255,165,0,.35);border-radius:0 16px 16px 0;border-left:none}.chat-bubble-other{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-radius:16px 0 0 16px;border-right:none}.chat-bubble-header{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.chat-msg-username{font-size:.78rem;font-weight:700;letter-spacing:.01em}.chat-server-badge{font-size:.65rem;font-weight:600;padding:.08rem .35rem;border-radius:4px;border:1px solid currentColor;opacity:.75}.chat-bubble-footer{display:flex;align-items:center;gap:.3rem;margin-top:.1rem}.chat-bubble-footer-own{justify-content:flex-end}.chat-msg-time{font-size:.67rem;color:#ffffff47;white-space:nowrap}.chat-radial-menu{position:relative;display:flex;flex-direction:column;flex-shrink:0;z-index:10}.chat-radial-toggle{flex:1;width:30px;padding:0;border:none;font-size:1.15rem;letter-spacing:-1px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:color .2s,background .15s}.chat-msg-row-own .chat-radial-toggle{background:#ffa5002e;border:1px solid rgba(255,165,0,.35);border-right:none;border-radius:14px 0 0 14px;color:#ffffff73}.chat-msg-row-own .chat-radial-toggle:hover{background:#ffa50042;color:orange}.chat-msg-row-other .chat-radial-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-left:none;border-radius:0 14px 14px 0;color:#ffffff59}.chat-msg-row-other .chat-radial-toggle:hover{background:#ffffff1c;color:#fffc}.chat-radial-toggle-open{color:orange!important}.chat-radial-btn{position:absolute;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#121212f5;color:#ffffffa6;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transform:translate(0) scale(0);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;z-index:1}.chat-radial-btn.open{transform:translate(var(--tx),var(--ty)) scale(1);opacity:1;pointer-events:auto}.chat-radial-btn:hover:not(:disabled){background:#323232fc;color:#fff;border-color:#ffffff80;transform:translate(var(--tx),var(--ty)) scale(1.12)}.chat-radial-btn:disabled{opacity:.35;cursor:not-allowed}.chat-radial-delete:hover:not(:disabled){color:#e74c3c;border-color:#e74c3c8c}.chat-radial-reported{color:#27ae60!important;border-color:#27ae6059!important;cursor:default}.chat-reply-quote{border-left:3px solid rgba(255,165,0,.5);background:#ffffff0d;border-radius:0 4px 4px 0;padding:.25rem .5rem;margin-bottom:.4rem;max-width:100%;overflow:hidden}.chat-reply-quote-own{border-left-color:#ffa500b3;text-align:left}.chat-reply-author{display:block;font-size:.68rem;font-weight:700;color:orange;margin-bottom:.1rem}.chat-reply-text{display:block;font-size:.75rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar{display:flex;align-items:center;gap:.5rem;background:#ffa50012;border-top:1px solid rgba(255,165,0,.2);border-bottom:1px solid rgba(255,165,0,.1);padding:.4rem 1rem}.chat-reply-bar-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.chat-reply-bar-author{font-size:.7rem;font-weight:700;color:orange}.chat-reply-bar-text{font-size:.75rem;color:#ffffff73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar-cancel{background:none;border:none;color:#ffffff4d;font-size:.8rem;cursor:pointer;padding:.2rem .4rem;flex-shrink:0;transition:color .15s}.chat-reply-bar-cancel:hover{color:#ffffffb3}.chat-msg-text{font-size:.88rem;color:#ffffffe0;margin:0;line-height:1.45;word-break:break-word;white-space:pre-wrap}.chat-loading{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem}.chat-loading-dot{width:8px;height:8px;border-radius:50%;background:#ffa50080;animation:chat-bounce 1.2s ease-in-out infinite}.chat-loading-dot:nth-child(2){animation-delay:.2s}.chat-loading-dot:nth-child(3){animation-delay:.4s}@keyframes chat-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-error-box{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;color:#e74c3c;font-size:.875rem;text-align:center}.chat-no-messages{margin:auto;color:#ffffff4d;font-size:.875rem;text-align:center;font-style:italic}.chat-input-area{flex-shrink:0;width:100%;box-sizing:border-box;border-top:1px solid rgba(255,165,0,.15);padding:.75rem 1.5rem;background:#ffffff05}.chat-send-error{font-size:.78rem;color:#e74c3c;margin-bottom:.4rem;padding:.3rem .5rem;background:#e74c3c14;border-radius:4px}.chat-input-row{display:flex;gap:.5rem;align-items:flex-end}.chat-textarea{flex:1;background:#ffffff0d;border:1px solid rgba(255,165,0,.2);border-radius:8px;color:#ffffffe6;font-size:.875rem;line-height:1.4;padding:.5rem .75rem;resize:none;transition:border-color .15s;font-family:inherit;min-height:2.5rem;max-height:7rem}.chat-textarea::placeholder{color:#ffffff40;font-size:.8rem}.chat-textarea:focus{outline:none;border-color:#ffa50080}.chat-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{background:#ffa50026;border:1px solid rgba(255,165,0,.3);border-radius:8px;color:orange;font-size:1.1rem;width:2.6rem;height:2.6rem;cursor:pointer;transition:background .15s,transform .1s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-send-btn:hover:not(:disabled){background:#ffa50047}.chat-send-btn:active:not(:disabled){transform:scale(.94)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-input-footer{display:flex;justify-content:flex-end;margin-top:.25rem}.chat-char-count{font-size:.7rem;color:#ffffff40}.chat-char-warn{color:#ffa500b3}.chat-login-wall{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff05;text-align:center;flex:1;min-height:0;width:100%;box-sizing:border-box}.chat-login-icon{font-size:2.5rem;opacity:.4}.chat-login-text{color:#ffffffb3;font-size:1rem;margin:0}.chat-login-hint{color:#ffffff59;font-size:.875rem;margin:0}.chat-admin-label{display:block;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,red,#f50,#fc0,#af0,#0fa,#0cf,#05f,#a0f,#f08,red);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:admin-text-snake 2s linear infinite;margin-bottom:.15rem}.chat-admin-label-own{text-align:right}@keyframes admin-text-snake{0%{background-position:0% 50%}to{background-position:-200% 50%}}.chat-mod-label{display:block;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,#0ea5e9,#6366f1,#06b6d4,#3b82f6,#0ea5e9);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:mod-text-snake 2.5s linear infinite;margin-bottom:.15rem}@keyframes mod-text-snake{0%{background-position:0% 50%}to{background-position:-200% 50%}}.chat-mod-label-own{text-align:right}.chat-user-label{display:block;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,#22c55e,#4ade80,#86efac,#22c55e);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:user-text-snake 3s linear infinite;margin-bottom:.15rem}@keyframes user-text-snake{0%{background-position:0% 50%}to{background-position:-200% 50%}}.chat-user-label-own{text-align:right}.chat-sidebar-toggle,.chat-pm-backdrop{display:none}@media(max-width:768px){.chat-pm-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:#0000008c}}@media(max-width:768px){.chat-online-sidebar{position:fixed;top:var(--nav-height-mobile, 70px);right:0;height:calc(100dvh - var(--nav-height-mobile, 70px));z-index:1001;transform:translate(100%);transition:transform .25s ease;background:#0a0a0a;border-left:1px solid rgba(255,165,0,.2);box-shadow:-8px 0 32px #000000b3}.chat-online-sidebar.chat-sidebar-open{transform:translate(0)}.chat-sidebar-backdrop{position:fixed;inset:0;z-index:1000;background:#00000080}.chat-sidebar-toggle{display:inline-flex;align-items:center;gap:.25rem;margin-right:auto;flex-shrink:0;padding:.28rem .6rem;background:#ffa50012;border:1px solid rgba(255,165,0,.2);border-radius:5px;color:#ffffff8c;font-size:.78rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.chat-sidebar-toggle:hover,.chat-sidebar-toggle-active{background:#ffa50026;color:orange;border-color:#ffa50073}.chat-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;line-height:1;margin-left:3px}.chat-messages{padding:.75rem 1rem}.chat-input-area{padding:.6rem 1rem}.chat-textarea{font-size:16px}.chat-textarea::placeholder{font-size:.75rem}}
