#peer-status{position:absolute;z-index:18;right:18px;top:166px;max-width:230px;padding:7px 12px;background:#fbf7e9ed;border:1px solid #9b9e83;color:#49665a;font-size:12px;pointer-events:none}
#peer-resume{position:absolute;z-index:25;right:18px;top:209px;background:#476657;color:#fff9e8;border:1px solid #304d42;padding:10px 16px;cursor:pointer}
#peer-resume[hidden]{display:none}
@media(max-width:600px){#peer-resume{top:180px;right:10px}}
#peer-talk-action{position:absolute;z-index:24;bottom:116px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #354f42;background:#f8f1df;color:#29483b;box-shadow:3px 3px #344c3d;white-space:nowrap;font:16px serif;cursor:pointer}
.peer-label,.peer-bubble{position:absolute;z-index:14;pointer-events:none;transform:translate(-50%,-100%);white-space:nowrap}
.peer-label{padding:3px 7px;background:#fff9e9d9;border-radius:3px;color:#3b5448;font-size:11px}
.peer-bubble{padding:1px 15px 5px;background:#fff8e7;border:1px solid #778779;border-radius:18px;color:#375648;font:25px Georgia,serif;box-shadow:0 3px 9px #172b2924;letter-spacing:4px}
.peer-bubble::after{content:'';position:absolute;bottom:-5px;left:50%;width:8px;height:8px;background:#fff8e7;border-right:1px solid #778779;border-bottom:1px solid #778779;transform:rotate(45deg)}
#peer-toast{position:fixed;z-index:110;bottom:28px;left:50%;transform:translateX(-50%);max-width:min(90vw,520px);padding:12px 20px;background:#304d42;color:#fff8e6;border-radius:4px;font-size:14px}
.peer-dialog{padding:0;border:1px solid #657461;background:#faf6e9;color:#304b40;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 32px);box-shadow:6px 6px 0 #31493fe6;overflow:hidden}
.peer-dialog::backdrop{background:#162f2a55;backdrop-filter:blur(3px)}
.peer-dialog header{padding:22px 24px 15px;border-bottom:1px solid #d7d4bf;display:flex;align-items:center;justify-content:space-between;gap:15px}
.peer-dialog h2{font:23px serif;margin:0}.peer-dialog small{color:#788070;font-size:12px}
.peer-dialog button{font:14px inherit;padding:10px 16px;background:#f6f1df;border:1px solid #99a187;color:#365444;cursor:pointer;min-height:42px}
.peer-dialog button:focus-visible,.peer-dialog textarea:focus-visible{outline:3px solid #c18f50;outline-offset:3px}
.peer-dialog button.primary{background:#476657;color:#fff9e8;border-color:#476657}.peer-dialog button:disabled{opacity:.5;cursor:default}
.peer-invite-body{padding:24px}.peer-invite-body p{line-height:1.7;margin:0 0 18px}.peer-dialog .peer-actions{display:flex;justify-content:flex-end;gap:12px}
#peer-chat-log{min-height:160px;height:min(42dvh,330px);overflow:auto;padding:18px 22px;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}
.peer-message{max-width:86%;align-self:flex-start}.peer-message.self{align-self:flex-end}.peer-message small{display:block;margin:0 0 4px}.peer-message p{margin:0;padding:10px 13px;border-radius:3px;background:#ecebdd;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:15px}.peer-message.self p{background:#dce6d8}
#peer-chat-empty{text-align:center;margin:auto;color:#8b8d78;font-size:13px}
#peer-chat-form{border-top:1px solid #d7d4bf;padding:14px 20px 18px;display:grid;gap:10px}
#peer-chat-input{resize:none;width:100%;box-sizing:border-box;min-height:76px;max-height:120px;border:1px solid #c2c7af;background:#fffdf5;color:#314e41;padding:10px 12px;font:15px/1.5 sans-serif}
.peer-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.peer-composer-foot small{font-size:11px}
#peer-chat-note{min-height:16px;margin:0;font-size:12px;color:#98613f}
[hidden].peer-label,[hidden].peer-bubble,#peer-talk-action[hidden],#peer-status[hidden],#peer-toast[hidden]{display:none}
@media(max-width:600px){#peer-status{top:136px;right:10px;font-size:10px;max-width:180px}#peer-talk-action{bottom:157px;font-size:14px;padding:10px 14px}.peer-dialog header{padding:18px}.peer-dialog h2{font-size:20px}#peer-chat-log{height:34dvh;padding:14px}#peer-chat-form{padding:12px}.peer-composer-foot small{max-width:200px}.peer-dialog{box-shadow:3px 3px #31493f}}
@media(prefers-reduced-motion:reduce){.peer-dialog::backdrop{backdrop-filter:none}}
