.overlay { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.5); padding: calc(var(--spacing-lg, 16px) + var(--app-safe-top, 0px)) calc(var(--spacing-lg, 16px) + var(--app-safe-right, 0px)) calc(var(--spacing-lg, 16px) + var(--app-safe-bottom, 0px)) calc(var(--spacing-lg, 16px) + var(--app-safe-left, 0px)); } .dialog { width: 100%; max-width: var(--pwa-install-dialog-max-width, 360px); padding: 24px 16px 16px; text-align: center; background: var(--color-page-background, #ffffff); border-radius: 40px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .title { margin: 0 0 10px; font-size: var(--responsive-page-title, var(--font-size-22, 22px)); font-weight: 700; line-height: 1.2; color: var(--color-text-foreground, #171717); } .content { margin: 0 24px var(--spacing-lg, 16px); font-size: var(--responsive-body, var(--font-size-lg, 16px)); line-height: 1.5; text-align: left; color: #393939; } .error { margin: 0 24px var(--spacing-lg, 16px); font-size: var(--responsive-caption, var(--font-size-md, 14px)); line-height: 1.4; text-align: left; color: #c0364c; } .actions { display: flex; gap: var(--spacing-md, 12px); width: 100%; } .button { flex: 1 1 auto; min-height: var(--pwa-button-height, 44px); border: 0; border-radius: var(--radius-bottom-sheet, 28px); font-size: var(--responsive-body, var(--font-size-lg, 16px)); font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; } .button:disabled { cursor: not-allowed; opacity: 0.72; } .secondary { color: var(--color-page-background, #ffffff); background: var(--color-text-secondary, #9e9e9e); } .primary { color: var(--color-page-background, #ffffff); background: linear-gradient( var(--color-button-gradient-start, #ff67e0), var(--color-button-gradient-end, #ff52a2) ); }