/* A quiet invitation outside the already compact game-navigation header. */
.contact-invitation{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0;font-size:11px;line-height:1.5;color:#777782}
.contact-invitation p{margin:0;min-width:0}
.contact-invitation button{flex-shrink:0;min-height:44px;padding:8px 13px;border:1px solid #f4d2d7;border-radius:7px;color:#bf3849;background:#fff9fa;font-size:11px;font-weight:650}
.contact-invitation button:hover{background:var(--pink);border-color:#eab2bb}
.contact-dialog{width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 100px #15142640;overflow:auto;overscroll-behavior:contain}
.contact-dialog::backdrop{background:#20233499;backdrop-filter:blur(5px)}
.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-heading h2{margin:0;font-size:24px;line-height:1.3;letter-spacing:-.5px}
.contact-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:9px;background:#f6f6f9;color:#676774;font-size:18px}
.contact-close:hover{color:var(--coral-dark);background:var(--pink)}
.contact-intro{margin:8px 0 20px;color:#666671;font-size:13px;line-height:1.7}
.contact-dialog fieldset{margin:0;padding:0;border:0;min-width:0}
.contact-field{margin:0 0 16px}
.contact-field>label{display:block;margin-bottom:7px;font-size:13px;line-height:1.5;font-weight:600}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 11px;border:1px solid #dcdce4;border-radius:7px;background:white;color:var(--ink);font:16px/1.5 var(--font)}
.contact-field textarea{resize:vertical;min-height:96px}
.contact-field :is(input,select,textarea):focus-visible{outline:2px solid #ed586688;outline-offset:2px;border-color:var(--coral)}
.contact-dialog [aria-invalid="true"]{border-color:#b43143}
.contact-field .contact-hint{font-size:11px;line-height:1.5;color:#71717c;margin:6px 0 0}
.contact-consent{display:flex;align-items:flex-start;gap:10px;padding:8px 0;min-height:44px;font-size:12px;line-height:1.7;cursor:pointer}
.contact-consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0 0;accent-color:var(--coral-dark)}
.contact-privacy{margin:5px 0 18px;color:#71717c;font-size:11px;line-height:1.6}
.contact-error,.contact-status{margin:0 0 16px;padding:11px 12px;border-radius:7px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.contact-error{color:#9d2335;background:#fff0f1;border:1px solid #f1c3ca}
.contact-status{color:#555563;background:#f6f6f9}
.contact-error:focus-visible{outline:2px solid #b43143;outline-offset:2px}
.contact-submit{width:100%;min-height:46px;font-size:13px}
.contact-honeypot{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-success{padding:12px 0 3px;text-align:center}
.contact-success-mark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#edf6ef;color:#417b55;font-size:25px}
.contact-success h3{font-size:21px;line-height:1.4;margin:15px 0 8px}
.contact-success p{font-size:13px;line-height:1.7;color:#666671;margin:0 0 24px}
.contact-success .button{min-height:46px;width:100%;font-size:13px}
@media(max-width:600px){.contact-invitation{justify-content:space-between;gap:8px;margin:0}.contact-invitation p{font-size:10px}.contact-invitation button{font-size:11px;padding:8px 10px}.contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px;border-radius:12px}.contact-heading h2{font-size:22px}.contact-intro{font-size:12px}.contact-field{margin-bottom:14px}}
