
.app-dialog{--modal-bg:#fff;--modal-ink:#142037;--modal-muted:#617089;--modal-accent:#0054e9;--modal-button:#fff;box-sizing:border-box;width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:30px 24px 26px;border:1px solid color-mix(in srgb,var(--modal-accent) 18%,transparent);border-radius:28px;background:var(--modal-bg);color:var(--modal-ink);box-shadow:0 24px 100px #0005;overflow:auto;text-align:left;font-family:inherit}
.app-dialog::backdrop{background:#081020a6;backdrop-filter:blur(7px)}
.app-dialog[open]{animation:dialog-enter .22s ease-out}
.app-dialog .app-dialog-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--modal-muted);cursor:pointer}
.app-dialog-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.app-dialog-brand{display:flex;gap:10px;align-items:center;padding-right:36px;margin-bottom:28px;font-size:22px;font-weight:750;color:var(--modal-ink)}
.app-dialog-brand img{width:42px;height:42px;object-fit:contain;border-radius:12px}
.app-dialog h2{font-size:35px;line-height:1.12;letter-spacing:-.035em;margin:0 0 16px;color:var(--modal-ink);text-wrap:initial;font-weight:750}
.app-dialog .app-dialog-intro{font-size:16px;line-height:1.6;color:var(--modal-muted);margin:0 0 24px}
.app-dialog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 0;margin-bottom:22px}
.app-dialog-facts strong{display:block;font-size:21px;line-height:1.25;font-weight:750}
.app-dialog-facts span{display:block;font-size:12px;line-height:1.4;color:var(--modal-muted);margin-top:4px}
.app-dialog .app-dialog-download{display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:56px;padding:15px 16px;border:0;border-radius:16px;background:var(--modal-accent);color:var(--modal-button);font-family:inherit;font-weight:700;font-size:15px;line-height:1.3;cursor:pointer}
.app-dialog-download svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-dialog-download:disabled{opacity:.65;cursor:wait}
.app-dialog .app-dialog-status{font-size:12px;line-height:1.6;color:var(--modal-muted);margin:14px 0 0;min-height:39px}
.app-dialog button:focus-visible{outline:2px solid var(--modal-accent);outline-offset:3px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.app-dialog[open]{animation:none}}

@media(max-width:760px){.app-dialog h2{font-size:32px}}
