:root { color-scheme: light; font: 16px system-ui, sans-serif; background: #fff; }
html, body { margin:0; width:100%; height:100%; overflow:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
#app-viewport {
  box-sizing: border-box;
  position: relative;
  width:100%; height:100dvh; padding:0; overflow:hidden;
  --safe-top:env(safe-area-inset-top,0px); --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px); --safe-left:env(safe-area-inset-left,0px);
}
#app-stage { position:absolute; left:0; top:0; margin:0; transform-origin:top left; }
#app-viewport:not([data-ready]) #app-stage { visibility: hidden; }
#app-cards { display: block; width: 100%; border: 0; background: transparent; }
#app-error { max-width: 32rem; margin: 10vh auto; padding: 24px; text-align: center; color: #281345; }
#app-error[hidden] { display: none; }
#app-error button { font: inherit; padding: 12px 20px; border-radius: 16px; border: 2px solid #281345; background: #ffdf45; color: #281345; cursor: pointer; }
