.matchChat{position:absolute;left:14px;bottom:118px;z-index:38;width:min(350px,calc(100% - 28px));font:12px/1.4 system-ui,sans-serif;pointer-events:none;color:#ecedf5}
.matchChat[hidden],.matchChat [hidden]{display:none!important}
/* Keep chat usable when the draggable editor overlaps it on a small screen. */
.matchChat.is-editing{z-index:41}
.matchChatLog{display:flex;flex-direction:column;gap:4px;max-height:122px;overflow:hidden;margin-bottom:7px;transition:opacity .25s ease}
.matchChatLine{padding:5px 9px;border-radius:6px;background:rgba(10,15,27,.8);overflow-wrap:anywhere;text-shadow:0 1px 2px #000;white-space:pre-wrap}
.matchChatLine strong{color:#c6c9fb;font-weight:750;unicode-bidi:isolate}
.matchChatLine.is-self strong{color:#9bdbc9}
.matchChatLine span{unicode-bidi:plaintext}
.matchChat.is-quiet:not(.is-open) .matchChatLog{opacity:0}
.matchChatOpen{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid #9e94755c;border-radius:7px;background:#101729d9;color:#e1d7bb;font:600 11px system-ui;cursor:pointer}
.matchChat kbd{padding:1px 5px;border:1px solid #c7bfad63;border-radius:4px;font:10px system-ui;color:#f1e4bd}
.matchChatUnread{min-width:17px;padding:1px 4px;border-radius:8px;background:#c9b781;color:#141927;text-align:center}
.matchChat.is-open{pointer-events:auto;padding:9px;border:1px solid #b5a57588;border-radius:12px;background:linear-gradient(155deg,#20283bf5,#0f1422f5);box-shadow:0 12px 35px #0008;backdrop-filter:blur(8px)}
.matchChat.is-open .matchChatLog{max-height:170px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7d7794 #151a28}
.matchChatEmpty{margin:8px 5px;color:#b1b7ca;font-size:11px}
.matchChatHeading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #ac9e752b;padding:8px 0}
.matchChatHeading strong{display:block;color:#e9d8aa;font-size:12px;overflow-wrap:anywhere}
.matchChatHeading span{display:block;font-size:10px;color:#b1bacd}
.matchChatHeading button{background:transparent;color:#c9cbdb;border:1px solid #9196b04d;border-radius:5px;padding:3px 6px;cursor:pointer;font:10px system-ui}
.matchChatEntry{display:flex;gap:6px}
.matchChatEntry input{min-width:0;flex:1;width:auto;margin:0;padding:9px 10px;border:1px solid #9699c569;border-radius:7px;background:#070c17;color:#fff;font:13px system-ui;box-shadow:none}
.matchChatEntry input:focus{outline:2px solid #a9a7e8;outline-offset:1px}
.matchChatEntry button{padding:7px 12px;border:1px solid #b8a66f;border-radius:7px;background:#c5b37d;color:#171b29;font:750 11px system-ui;cursor:pointer}
.matchChat button:focus-visible{outline:2px solid #c2bdff;outline-offset:2px}
.matchChat button:disabled{opacity:.45;cursor:default}
.matchChatFooter{display:flex;justify-content:space-between;gap:8px;padding-top:6px;font-size:10px;color:#adb6cb}
.matchChatFooter #matchChatStatus{min-width:0;overflow-wrap:anywhere}
.matchChatFooter #matchChatCount{white-space:nowrap;font-variant-numeric:tabular-nums}
.matchChat .is-error{color:#ffb3b3}
@media(max-width:620px){.matchChat{left:10px;bottom:106px;width:min(320px,calc(100% - 20px))}.matchChat.is-open{bottom:12px;display:flex;flex-direction:column;max-height:calc(100% - 24px);box-sizing:border-box}.matchChat.is-open .matchChatLog{max-height:110px;min-height:0;flex-shrink:1}.matchChatComposer{flex-shrink:0}.matchChatEntry input{font-size:16px}.matchChatLog{max-height:88px}}
body.touchDevice.mobileMatchMode .matchChat{left:10px;bottom:120px;max-width:calc(100% - 20px)}
body.touchDevice.mobileMatchMode .matchChat.is-open{bottom:12px}
@media(prefers-reduced-motion:reduce){.matchChatLog{transition:none}}
