.radio-chat{margin-top:30px;padding:22px;background:var(--deep);border:1px solid #ffffff25;border-radius:18px;max-width:600px}.radio-chat h2{font:600 20px Arial,sans-serif;letter-spacing:0;margin:0 0 8px}.chat-caption,.chat-rules{font-size:12px;line-height:1.6;color:#c3cfc0;margin:8px 0 14px}.radio-chat label{display:block;font-size:12px;margin:12px 0 7px}.radio-chat input,.radio-chat textarea{width:100%;border:1px solid #818b82;border-radius:8px;background:#343a3b;color:#f6f6f0;padding:11px;font:inherit;font-size:14px}.radio-chat textarea{resize:vertical;min-height:75px}.radio-chat button{border:0;border-radius:8px;padding:10px 17px;background:var(--peach);color:var(--deep);font-weight:600;font-size:13px}.chat-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.radio-chat .chat-leave{background:transparent;color:#d0d6cc;padding:6px 0;text-decoration:underline}.chat-messages{height:205px;overflow:auto;overscroll-behavior:contain;border-block:1px solid #ffffff25;margin:15px 0;padding:5px 0;scrollbar-color:#a5bf67 #292f30}.chat-entry{padding:9px 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.chat-entry p{margin:3px 0;white-space:pre-wrap}.chat-entry strong{color:var(--peach)}.chat-entry time{color:#b8c5b6;font-size:11px;margin-left:10px}.chat-status{font-size:12px;color:#edc72f;min-height:1.5em;line-height:1.5;margin:10px 0 0}.chat-empty{font-size:13px;line-height:1.6;color:#c3cfc0}.player-art{display:grid;place-items:center;margin:22px 0}.player-art img{display:block;width:min(100%,245px);height:auto;border-radius:16px}.radio-chat [hidden]{display:none!important}@media(max-width:500px){.radio-chat{padding:18px}.chat-messages{height:190px}}@media print{.radio-chat{display:none}}

/* Reserved nickname authentication */
.radio-chat #chat-password{margin-bottom:8px}
.radio-chat .chat-password-hint{font-size:.8rem;line-height:1.5;margin:0 0 14px;opacity:.85}
.radio-chat .chat-registered{display:inline-block;font-size:.7rem;line-height:1.4;margin-left:8px;padding:1px 6px;border:1px solid #edc72f;border-radius:4px;color:#edc72f}

/* The chat uses a native modal, with the same backdrop as the legal dialogs. */
.radio-chat.chat-launch{margin-top:0}
.radio-chat.chat-dialog#chat-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:88vh;max-height:88dvh;margin:auto;padding:26px;background:var(--deep);color:var(--cream);border:1px solid #ffffff30;border-radius:18px;line-height:1.6;overflow:auto;overscroll-behavior:contain}
.chat-dialog::backdrop{background:#17201bd0}
.radio-chat.chat-dialog .dialog-close{float:right;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;font-size:26px;background:var(--navy);color:var(--cream)}
.radio-chat.chat-dialog h2{font:600 22px Arial,sans-serif;letter-spacing:0;line-height:1.4;margin:4px 50px 8px 0}
.chat-dialog .chat-messages{height:clamp(170px,32vh,340px)}
.chat-dialog textarea:focus-visible{outline:3px solid var(--peach);outline-offset:3px}
@media(max-width:500px){.radio-chat.chat-dialog#chat-dialog{padding:18px;max-height:92vh;max-height:92dvh}.chat-dialog .chat-messages{height:27vh;min-height:140px}}
