#roomChatDock{position:relative;flex:0 0 44px;width:44px;height:44px;pointer-events:none}
#roomChatDock.chat-floating{position:absolute;top:calc(8px + var(--safe-t,0px));right:calc(108px + var(--safe-r,0px));z-index:35}
#gameShell.chat-available #mobileObjective{max-width:calc(100% - 195px - var(--safe-l,0px) - var(--safe-r,0px))}
#gameShell.native-landscape.chat-available #mobileObjective{max-width:calc(100% - 310px - var(--safe-l,0px) - var(--safe-r,0px))}
#roomChatDock[hidden],#roomChatPanel[hidden],#chatPeek[hidden],#roomChatDock #chatToggle i[hidden]{display:none!important}
#roomChatDock #chatToggle{pointer-events:auto;display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;min-height:44px;padding:13px;border:0;border-radius:13px;color:#344d3b;background:transparent;opacity:.38;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:opacity .15s,background .15s}
@media(hover:hover){#roomChatDock #chatToggle:hover{opacity:.8;background:#fff9e65c}}
#roomChatDock #chatToggle:focus-visible,#roomChatDock #chatToggle[aria-expanded=true]{opacity:.85;background:#fff9e699}
#roomChatDock #chatToggle:focus-visible{outline:2px solid #557657;outline-offset:1px}
#roomChatDock #chatToggle:active{opacity:1;background:#fff9e699}
#roomChatDock #chatToggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#roomChatDock #chatToggle i{position:absolute;right:9px;top:9px;width:6px;height:6px;border-radius:50%;background:#bf783c}
#chatPeek{position:absolute;top:100%;right:0;width:max-content;max-width:230px;margin:6px 0 0;padding:8px 10px;border-radius:10px;background:#fff9e6c4;color:#3b5847;font:13px/1.5 system-ui;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 2px 9px #233b1710}
#roomChatPanel{position:fixed;z-index:220;transform:translateX(-50%);box-sizing:border-box;padding:12px;border:1px solid #bdc5a6;border-radius:19px;background:#fffaf0f5;color:#304c3b;box-shadow:0 9px 34px #233b172d;font:13px/1.4 system-ui;max-height:calc(var(--chat-vh,100dvh) - 16px);display:flex;flex-direction:column;gap:9px;overflow:hidden;isolation:isolate}
#roomChatPanel *{box-sizing:border-box}
#roomChatPanel button{font:650 12px system-ui;border:1px solid #cbd1b8;border-radius:10px;background:#f0f2e6;color:#304c3b;min-height:34px;padding:6px 9px;cursor:pointer;touch-action:manipulation;margin:0;box-shadow:none;translate:none}
#roomChatPanel button:disabled{opacity:.48;cursor:default}
#roomChatPanel button:focus-visible,#roomChatPanel input:focus-visible{outline:2px solid #557657;outline-offset:2px}
.chat-heading{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-heading>div{flex:1}.chat-heading strong{display:block;font-size:15px}.chat-heading small{font-size:10px;color:#77816b}.chat-heading #chatClose{font-size:17px;width:34px;padding:0;background:transparent}
#chatMute[aria-pressed=true]{background:#e8d9c3}
#chatLog{min-height:35px;max-height:90px;overflow-y:auto;overscroll-behavior:contain;flex:1 1 64px;scrollbar-width:thin;padding:0 2px}
.chat-empty{font-size:12px;color:#89907c;margin:10px 0}.chat-line{display:grid;grid-template-columns:30px 1fr;gap:2px 6px;padding:5px 0;font-size:12px;line-height:1.45}.chat-line b{font-size:10px;font-weight:600;color:#687a5e;padding-top:2px}.chat-line span{overflow-wrap:anywhere;white-space:pre-wrap}.chat-line small{grid-column:2;font-size:9px;color:#939983}.chat-line small:empty{display:none}.chat-line.mine b{color:#9a794a}
#chatQuick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex-shrink:0}
#chatQuick button{padding:6px 3px;font-size:11px}
#chatForm{display:flex;gap:6px;margin:0;flex-shrink:0}.chat-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#chatInput{min-width:0;flex:1;width:0;border:1px solid #bec9ac;border-radius:10px;padding:8px 10px;background:#fffdf8;color:#304c3b;font:16px/1.2 system-ui;min-height:38px}
#chatSend{background:#47664d!important;color:#fffaf0!important;min-width:60px}
.chat-foot{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.3;min-height:14px;flex-shrink:0;color:#7c826f}#chatCount{white-space:nowrap}#chatStatus{overflow-wrap:anywhere}
@media(max-height:300px){#roomChatPanel{padding:8px;gap:5px;border-radius:12px}#chatLog{display:none}.chat-heading small{display:none}#chatQuick button{min-height:28px;padding:3px}#chatInput{min-height:34px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){#roomChatPanel *,#roomChatDock *{transition:none!important}}
