/* Selected design: horizontal QR + download guidance. */
.download-dialog{width:min(870px,calc(100vw - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:28px 28px 52px;border:1px solid #e7eef9;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(13,43,86,.22);overflow:auto;overscroll-behavior:contain}
.download-dialog::backdrop{background:rgba(28,55,89,.57)}
.download-dialog[open]{animation:download-dialog-in .18s ease-out}
.download-dialog-top{display:flex;align-items:center;justify-content:space-between}
.download-brand{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:700;letter-spacing:0}
.download-brand img{width:32px;height:32px;object-fit:contain}
.download-close{display:grid;place-items:center;width:40px;height:40px;padding:10px;border:0;border-radius:10px;background:transparent;cursor:pointer}
.download-close img{width:20px;height:20px;opacity:.65;filter:grayscale(.65)}
.download-close:hover{background:#edf4ff}
.download-dialog-heading{text-align:center;margin:28px 0 38px}
.download-dialog-heading h2{margin:0;font-size:48px;font-weight:700;line-height:1.4;letter-spacing:-.8px}
.download-dialog-heading p{margin:7px 0 0;color:var(--muted);font-size:28px;font-weight:500;line-height:1.5}
.download-dialog-body{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin:0 18px}
.download-qr-block{margin:0;text-align:center;padding:0 42px 0 8px}
.download-qr-image{display:block;width:292px;height:292px;max-width:100%;object-fit:contain;margin:0 auto;border:1px solid #e5edfa;border-radius:16px;background:#fff}
.download-qr-block figcaption{margin-top:15px;font-size:20px;font-weight:500;color:var(--muted);line-height:1.5}
.download-info{text-align:center;border-left:1px solid var(--line);padding:6px 0 0 35px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.download-platform{position:relative;width:136px;height:112px;margin:0 auto 18px}
.download-platform .windows-icon{display:block;width:104px;height:104px;object-fit:contain}
.download-platform .download-icon{position:absolute;width:58px;height:58px;right:0;bottom:0;background:white;border:4px solid white;border-radius:50%}
.download-info h3{margin:0;font-size:34px;line-height:1.45;font-weight:700;letter-spacing:-.6px}
.download-auto-copy{margin:7px 0 17px;color:var(--muted);font-size:20px;line-height:1.5}
.download-status{margin:0;color:var(--blue);font-size:18px;font-weight:500;line-height:1.6;min-height:29px}
.download-tip{margin:13px -8px 0;color:var(--muted);font-size:15px;line-height:1.7}
.download-retry{margin:12px 0 0;color:var(--blue);font-size:16px;line-height:1.6}
.download-retry a{color:var(--blue);text-underline-offset:4px;text-decoration:underline}
.download-retry a:hover{color:var(--blue-deep)}
.download-dialog :focus-visible{outline:3px solid #78a6ff;outline-offset:4px}
body.modal-open{overflow:hidden}
@keyframes download-dialog-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){
  .download-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px 20px 24px;border-radius:20px}
  .download-brand{font-size:18px}.download-brand img{width:27px;height:27px}
  .download-close{width:36px;height:36px}
  .download-dialog-heading{margin:18px 0 22px}
  .download-dialog-heading h2{font-size:clamp(20px,5.5vw,28px);letter-spacing:-.5px}
  .download-dialog-heading p{font-size:18px;margin-top:5px}
  .download-dialog-body{grid-template-columns:1fr;margin:0}
  .download-qr-block{padding:0 0 21px}
  .download-qr-image{width:246px;height:246px}
  .download-qr-block figcaption{font-size:17px;margin-top:9px}
  .download-info{border-left:0;border-top:1px solid var(--line);padding:21px 0 0}
  .download-platform{display:none}.download-info h3{font-size:22px}
  .download-auto-copy{font-size:16px;margin:5px 0 12px}
  .download-status{font-size:16px}.download-tip{font-size:13px;margin:8px 0 0}
  .download-retry{font-size:15px;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.download-dialog[open]{animation:none}}
