html.download-open { overflow: hidden; }
.download-dialog {
  width: min(420px, calc(100% - 36px)); max-width: none;
  max-height: calc(100svh - 32px); padding: 0; margin: auto;
  overflow: auto; overscroll-behavior: contain; border: 1px solid rgb(190 235 215 / 24%);
  border-radius: 30px; background: #10251e; color: #f0f7f3;
  box-shadow: 0 28px 80px rgb(0 0 0 / 38%), inset 0 1px 0 rgb(255 255 255 / 7%);
  font-family: Dioni, sans-serif; text-align: center;
}
.download-dialog:not([open]) { display: none; }
.download-dialog[open] { animation: download-arrive 200ms cubic-bezier(.22,.61,.36,1) both; }
.download-dialog::backdrop { background: rgb(1 7 5 / 62%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.download-dialog__panel { position: relative; padding: 32px 22px 22px; background: radial-gradient(ellipse at 50% 0%, rgb(126 215 183 / 10%), transparent 65%); }
.download-dialog__close { position: absolute; top: 9px; left: 9px; display: grid; place-items: center; width: 44px; height: 44px; padding: 12px; border: 0; border-radius: 50%; background: transparent; color: #bed1c7; cursor: pointer; }
.download-dialog__close svg { width: 20px; height: 20px; }
.download-dialog__close:active { background: rgb(255 255 255 / 8%); }
.download-dialog__brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 7px 36px 28px; font: 650 28px/1.2 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: -.8px; }
.download-dialog__brand span { transform: translateY(5px); }
.download-dialog__brand img { display: block; flex: 0 0 36px; width: 36px; height: 36px; object-fit: contain; }
.download-platform:active { transform: scale(.97); background-color: rgb(167 234 219 / 8%); }
.download-platform:focus:not(:focus-visible) { outline: none; }
.download-platforms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.download-platform { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 21px 10px 17px; border: 1px solid rgb(200 231 217 / 15%); border-radius: 22px; background: linear-gradient(145deg, rgb(236 255 246 / 7%), rgb(236 255 246 / 2%)); color: #f0f7f3; font-family: inherit; cursor: pointer; transition: transform 120ms ease, background-color 120ms ease; }
.platform-symbol { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 15px; border-radius: 20px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%); }
.platform-symbol--android { background: #1b3c2c; color: #3ddc84; }
.platform-symbol--apple { background: linear-gradient(145deg, #414d47, #28352f); color: #f5f7f6; }
.platform-icon { display: block; width: 36px; height: 36px; }
.platform-icon--android { width: 40px; }
.platform-name { font: 600 18px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: -.3px; }
.platform-description { margin-top: 4px; color: #b7cbc1; font-size: 12px; line-height: 1.7; }
.download-dialog :where(button):focus-visible { outline: 2px solid #a7eadb; outline-offset: 3px; }
.download-dialog button { -webkit-tap-highlight-color: transparent; }
@keyframes download-arrive { from { opacity: 0; transform: translate3d(0, 10px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .download-dialog[open] { animation: none; } .download-platform { transition: none; } .download-platform:active { transform: none; } }

.platform-symbol--windows { background:#173b50; color:#80cafa; }
.download-platform:disabled { cursor: wait; }

.download-platform { position: relative; }
.download-platform > [hidden] { display: none; }
.install-card-state { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; font-size: 14px; }
.install-card-state svg { width: 38px; height: 38px; }
.download-install-spin { animation: download-install-spin 900ms linear infinite; }
@keyframes download-install-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .download-install-spin { animation: none; } }

.download-dialog .download-platform:focus-visible { outline: none; }
.download-platform:focus-visible .platform-name, .download-platform:focus-visible .install-card-state span { text-decoration: underline; text-underline-offset: 4px; }

/* The card footprint stays fixed while its surface becomes a waiting circle. */
.download-platform:disabled{cursor:default}
.download-platform:disabled:not([data-install-state="pending"]):not([data-install-state="installed"]){opacity:.48}
.download-platform[data-install-state="pending"]{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.download-platform[data-install-state="pending"] .install-card-state{inset:50% auto auto 50%;width:90px;height:90px;transform:translate(-50%,-50%);border-radius:50%;background:#5eead414;border:1px solid #5eead440;animation:install-circle-arrive .25s ease-out both}
.download-platform[data-install-state="installed"] .install-card-state{animation:install-success-fade 1.5s ease both}

@keyframes install-circle-arrive{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@keyframes install-success-fade{0%{opacity:0;scale:.85}20%,65%{opacity:1;scale:1}100%{opacity:0;scale:1}}
@keyframes install-card-return{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.download-platform,.download-platform .install-card-state{animation:none!important}}

.install-platform-warning{box-sizing:border-box;width:min(400px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:32px;border:1px solid #dce6df;border-radius:30px;background:#f8faf7;color:#214737;font-family:inherit;text-align:center;box-shadow:0 24px 70px #061b1c33;outline:none;animation:download-arrive .22s ease-out both}
.install-platform-warning::backdrop{background:#10251c80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.install-warning-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 22px;border-radius:24px;background:#e7eee3;color:#486a38}
.install-platform-warning h2{margin:0 0 12px;font-size:23px;line-height:1.6;font-weight:750;text-wrap:balance}
.install-platform-warning p{margin:0;font-size:14px;line-height:1.95;color:#52635a}
.install-platform-warning button{display:block;width:100%;min-height:50px;margin-top:26px;border:0;border-radius:16px;background:#245846;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.install-platform-warning button:focus-visible{outline:2px solid #658d70;outline-offset:4px}
html[data-theme='dark'] .install-platform-warning{background:#252b27;color:#eef3ed;border-color:#3a463e;box-shadow:0 24px 70px #0006}
html[data-theme='dark'] .install-warning-icon{background:#343f30;color:#c3dfa1}
html[data-theme='dark'] .install-platform-warning p{color:#bccbbf}
html[data-theme='dark'] .install-platform-warning button{background:#a3d6bf;color:#173f30}
@media(prefers-color-scheme:dark){html:not([data-theme='light']) .install-platform-warning{background:#252b27;color:#eef3ed;border-color:#3a463e}html:not([data-theme='light']) .install-platform-warning p{color:#bccbbf}html:not([data-theme='light']) .install-warning-icon{background:#343f30;color:#c3dfa1}}
@media(prefers-reduced-motion:reduce){.install-platform-warning{animation:none}}

.download-dialog--desktop{background:#f8faf7;color:#214737;border-color:#dce6df;box-shadow:0 28px 80px #183b2726}
.download-dialog--desktop .download-dialog__panel{background:radial-gradient(ellipse at 50% 0%,#dcefe466,transparent 65%)}
.download-dialog--desktop .download-platform{background:#eef3ed;color:#234937;border-color:#d9e3d9}
.download-dialog--desktop .platform-description{color:#617365}
.download-dialog--desktop .platform-symbol--apple{background:#dde6de}
.download-dialog--desktop .platform-icon--apple{filter:brightness(0) saturate(100%)}
.download-dialog--desktop .platform-symbol--windows{background:#dcecf5}
.download-dialog--desktop .download-dialog__brand img{content:url('/icons/dioni-favicon.svg')}
.download-dialog--desktop .download-dialog__close{color:#234937}
.download-platform[data-install-state="ready"]{opacity:1;cursor:pointer}
.download-platform[data-install-state="cooldown"]{opacity:.48;cursor:default}
html .install-platform-warning.install-platform-warning--desktop{background:#f8faf7;color:#214737;border-color:#dce6df}
html .install-platform-warning.install-platform-warning--desktop p{color:#52635a}
html .install-platform-warning.install-platform-warning--desktop .install-warning-icon{background:#e7eee3;color:#486a38}
html .install-platform-warning.install-platform-warning--desktop button{background:#245846;color:#fff}
