/* The dialog itself is the scroll container; content never shrinks over fields. */
dialog.viewport-dialog{box-sizing:border-box;min-height:0;max-height:calc(var(--form-view-height,100dvh) - 24px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:16px}
dialog.viewport-dialog[open]{position:fixed;top:calc(var(--form-view-top,0px) + 12px);bottom:auto;margin-block:0;left:0;right:0;margin-inline:auto}
dialog.viewport-dialog:not(.viewport-compact)[open]{top:calc(var(--form-view-top,0px) + var(--form-view-height,100dvh)/2);transform:translateY(-50%)}
dialog.viewport-dialog input,dialog.viewport-dialog textarea,dialog.viewport-dialog select,.join-page input{font-size: max(16px,1em);scroll-margin-block:16px}
dialog.viewport-dialog.viewport-compact{padding-block:24px;animation:none;transform:none}
.popup-flow.viewport-compact[open]{display:block;height:auto;overflow:auto}
.popup-flow.viewport-compact #main,.popup-flow.viewport-compact #main>section:not([hidden]),.popup-flow.viewport-compact #demo-waitlist-form{display:block;min-height:0}
.popup-flow.viewport-compact .waitlist-heading{display:block;height:auto;margin-bottom:20px}
.popup-flow.viewport-compact .waitlist-heading h2{margin-bottom:12px}
.popup-flow.viewport-compact .signup-fields{display:flex;flex-direction:column;overflow:visible;min-height:0;padding:0;gap:0}
.popup-flow.viewport-compact .signup-fields label{margin:0 0 6px}
.popup-flow.viewport-compact .signup-fields input{flex:none;height:48px;min-height:48px;margin:0 0 16px}
.popup-flow.viewport-compact .step-actions{display:flex;flex-direction:column;height:auto;gap:8px;margin-top:12px}
.popup-flow.viewport-compact .step-actions>.waitlist-submit{flex:none}
.popup-flow.viewport-compact .flow-feedback{position:static;max-height:none;overflow:visible;margin-block:12px}
.popup-flow.viewport-compact .popup-progress{margin-top:16px}
.popup-flow.viewport-compact .step-body{overflow:visible;min-height:0;flex:none}
.popup-flow.viewport-compact .prompt-example,.popup-flow.viewport-compact .photo-frame{height:160px}
html:has(.viewport-dialog[open]){overflow:hidden}
html.form-page-editing body{padding-bottom:calc(var(--form-keyboard-space,0px) + 32px)}
@media(max-width:620px){.join-page{margin:24px auto;padding:20px;box-sizing:border-box;width:100%}.join-page input{box-sizing:border-box;min-width:0;width:100%}}
