#servers .game-join-banner { display:block; width:100%; padding:0; border:0; border-radius:0; text-align:left; background:transparent; color:inherit; font:inherit; }
#servers .game-join-banner:hover:not(:disabled) { background:#2499ff15; }
#servers .game-join-banner:focus-visible { outline:3px solid #71c7ff; outline-offset:-4px; }
#servers .game-join-banner:disabled { opacity:1; cursor:default; }
.join-hint { display:block; padding:0 22px 18px; font-size:.8rem; color:#8ed8ff; }
.game-join-banner:disabled .join-hint { color:#b3bdcb; }
.join-dialog { max-width:520px; width:calc(100% - 32px); padding:26px; background:#101e30; color:#f1f5fa; border:1px solid #3b6385; border-radius:18px; box-shadow:0 16px 60px #000a; }
.join-dialog::backdrop { background:#020812cf; }
.join-dialog h2 { font-size:1.4rem; padding-right:40px; }
.join-dialog p { line-height:1.6; color:#c0cede; }
.join-close { position:absolute; top:16px; right:16px; padding:8px 12px; }
.join-address { display:block; padding:16px; background:#081321; border:1px solid #304963; border-radius:10px; color:#b6e7ff; overflow-wrap:anywhere; user-select:all; }
.join-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.join-launch { display:inline-flex; align-items:center; min-height:44px; padding:12px 16px; border-radius:10px; background:#186e9c; color:white; text-decoration:none; font-size:.875rem; }
.join-launch:hover { background:#2184b7; }
.join-launch:focus-visible { outline:3px solid #71c7ff; outline-offset:3px; }
.join-feedback { min-height:1.5em; font-size:.875rem; }
.join-preview-note { color:#ffdb8a !important; }
.join-launch[hidden] { display:none; }
