/* Opt-in sparse-screen pattern. Auto margins center only when content fits;
   content taller than the dynamic viewport grows naturally and can scroll. */
:is(.viewport-sparse-center,#root:has(> .fowler-signin)){
 box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;
 padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
}
.viewport-sparse-center>*{margin-block:auto}
#root>.fowler-signin{flex-shrink:0;width:100%;max-width:480px;margin:auto;}
/* Workspace-only desktop scaling must not enlarge the signed-out viewport. */
html:has(#root>.fowler-signin){zoom:1}
