body.demo-open { overflow: hidden; }
#demo-dialog { box-sizing: border-box; width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: clamp(24px, 4vw, 40px); overflow-y: auto; color: #eaf2ff; background: #0e1c2c; border: 1px solid #476079; border-radius: 20px; box-shadow: 0 30px 100px #0009; }
#demo-dialog::backdrop { background: #020710c9; backdrop-filter: blur(7px); }
#demo-dialog h2 { font-size: clamp(1.65rem, 4vw, 2.2rem); line-height: 1.2; margin: 10px 40px 12px 0; }
#demo-dialog .demo-intro { font-size: 1rem; line-height: 1.6; color: #b4c5d7; margin-bottom: 24px; }
#demo-dialog [data-demo-close] { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; background: #21364c; color: #eaf2ff; font-size: 26px; }
#demo-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
#demo-form label { display: flex; flex-direction: column; gap: 8px; font-size: .9375rem; color: #dce8f5; }
#demo-form input, #demo-form textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #4b6580; border-radius: 8px; padding: 12px; background: #08121f; color: #f2f7ff; font: inherit; font-size: 16px; }
#demo-form textarea { resize: vertical; min-height: 90px; }
#demo-form .demo-wide { grid-column: 1 / -1; }
#demo-form .demo-privacy { color: #aebfd1; font-size: .875rem; line-height: 1.6; margin: 0; }
#demo-form a { color: #b3dcf7; text-decoration: underline; }
#demo-form [type="submit"] { min-height: 48px; width: 100%; background: #e4effd; color: #10243b; border-radius: 30px; padding: 12px 22px; font-size: 1rem; }
#demo-form [type="submit"]:disabled { opacity: .65; cursor: wait; }
#demo-status { margin: 0; font-size: 1rem; line-height: 1.5; }
#demo-status:empty { display: none; }
#demo-status[data-state="success"] { color: #a8e8cb; }
#demo-status[data-state="error"] { color: #ffb6b6; }
#demo-dialog :focus-visible { outline: 2px solid #8bdcea; outline-offset: 3px; }
.demo-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:520px) { #demo-form { grid-template-columns:minmax(0,1fr); gap:14px; } }
