.contactDialog {box-sizing:border-box;width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:30px 24px;border:1px solid var(--field-border);border-radius:24px;background:var(--paper,#fffaf2);color:var(--ink,#291459);box-shadow:0 20px 80px #29145930;}
.contactDialog::backdrop {background:#29145988;}
.contactDialog h2 {font-size:clamp(1.6rem,5vw,2rem);padding-inline-end:44px;margin:0 0 12px;}
.contactDialog p {line-height:1.5;}
.contactDialog form {display:grid;gap:10px;margin-top:20px;}
.contactDialog input,.contactDialog textarea {box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid var(--field-border,#baa4be);border-radius:12px;padding:12px;background:var(--surface,#fff);color:inherit;font:inherit;font-size:16px;}
.contactDialog textarea {resize:vertical;}
.contactDialog label {font-weight:750;}
.contactHint {font-size:.9rem;margin:0 0 10px;}
.contactHint a {color:inherit;}
.contactClose {position:absolute;inset-inline-end:16px;top:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--field-border);background:var(--surface,#fff);color:inherit;font-size:28px;cursor:pointer;}
.contactTrap {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.contactStatus:empty {display:none;}
.contactDialog :focus-visible {outline:3px solid #9571b4;outline-offset:3px;}
.contactDialog button:disabled {opacity:.65;cursor:wait;}
@media(prefers-color-scheme:dark){.contactDialog{background:#30253f;color:#f7f0ff;}.contactDialog input,.contactDialog textarea,.contactClose{background:#41334f;color:#f7f0ff;}}
