/* Download composition follows the supplied 1920 × 1007 design. */
.download-page{background:#080d14;min-height:100vh}
.download-page .download-main.wrap{width:calc(100% - 64px);max-width:1250px}
.download-main{padding-bottom:80px}
.download-hero{position:relative;min-height:668px;isolation:isolate}
.download-copy{position:relative;z-index:1;padding-top:153px;width:535px}
.download-copy h1{font-size:60px;font-weight:650;line-height:1.5;letter-spacing:-1.5px;margin:0;color:#f5f7fc}
.download-copy .download-intro{font-size:25px;line-height:2.1;letter-spacing:1.7px;color:#a6afbf;margin:25px 0 47px;white-space:nowrap}
.download-art{position:absolute;z-index:-1;left:511px;top:18px;width:894px;margin:0;pointer-events:none}
.download-art>img{display:block;width:100%;height:auto;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.download-primary{display:inline-flex;align-items:center;justify-content:center;width:315px;min-height:85px;padding:18px 24px;gap:10px;border:1px solid #2373ff;border-radius:17px;background:#4d85ff;color:#fff;font-family:inherit;font-size:24px;font-weight:400;line-height:1.4;text-decoration:none;cursor:pointer}
.download-primary:disabled{opacity:1;cursor:not-allowed;color:#fff;background:#4d85ff}
.download-primary:not(:disabled):hover{background:#6898ff}
.download-action{max-width:520px}
.download-action #release-message{margin:12px 0 0;font-size:12px;line-height:1.7;color:#8593a9}
.download-action #release-choice{margin:0 0 14px}
.download-action #release-choice label{font-size:13px;margin:0 0 6px}
.download-action #release-version{max-width:315px;width:100%;margin:0}
.download-action #release-metadata{font-size:12px;margin-top:10px;color:#9baac0}
.download-action #release-metadata summary{cursor:pointer}
.download-action #release-details p{overflow-wrap:anywhere;line-height:1.6}
.device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.device-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;height:186px;padding:31px;text-align:left;color:#f4f7ff;background:linear-gradient(120deg,#172338,#0c182d);border:1px solid #293e5c;border-radius:13px;cursor:pointer;font:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}
@media(hover:hover) and (pointer:fine){.device-card:hover{transform:translateY(-5px);border-color:#6c9bdf;box-shadow:0 10px 24px #02091445}}
.device-card:focus-visible{outline:2px solid #93baff;outline-offset:4px;border-color:#6c9bdf}
@media(prefers-reduced-motion:reduce){.device-card{transition:none}.device-card:hover{transform:none}}
.device-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:77px;height:77px;border:1px solid #263c5d;border-radius:13px;background:linear-gradient(120deg,#203352,#182337);color:#dce6fa}
.device-icon svg{display:block;width:40px;height:40px;fill:currentColor;stroke:none}
.macos-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#0b2b60;color:#fff;font-size:17px;line-height:1}
.macos-mark small{font-size:8px}
.device-name{position:relative;z-index:1;display:block;margin-top:20px;font-size:18px;line-height:1.3;font-weight:400}
.device-art{position:absolute;z-index:0;right:15px;bottom:24px;height:132px;width:auto;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.device-art-ios,.device-art-android{right:24px;height:129px}
.download-page [hidden]{display:none!important}
.download-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1600px){.download-art{width:71.5%;left:41%;max-width:calc(59% + (100vw - 100%)/2)}.download-copy{width:44%;padding-top:12.2%}.download-hero{min-height:0;padding-bottom:56px}.download-copy h1{font-size:clamp(38px,3.8vw,60px)}.download-copy .download-intro{font-size:clamp(15px,1.6vw,25px);letter-spacing:.5px}.download-primary{width:280px;min-height:72px}.device-card{padding:25px}.device-art{right:8px;max-width:55%;object-fit:contain}.device-icon{width:68px;height:68px}}
@media(max-width:1100px){.download-page .download-main.wrap{width:calc(100% - 48px)}.download-copy{padding-top:72px;width:50%}.download-copy h1{font-size:38px}.download-copy .download-intro{font-size:16px;letter-spacing:0;line-height:2;margin:22px 0 30px}.download-art{left:45%;top:35px;width:64%}.download-primary{width:240px;min-height:64px;font-size:20px}.device-grid{gap:12px}.device-card{padding:20px;height:160px}.device-icon{width:56px;height:56px}.device-icon svg{width:32px;height:32px}.device-name{font-size:16px}.device-art{height:108px;bottom:18px;right:2px}.device-art-ios,.device-art-android{height:108px;right:10px}}
@media(max-width:800px){.download-page .download-main.wrap{width:calc(100% - 40px)}.download-hero{display:flex;flex-direction:column;padding-bottom:30px}.download-copy{padding-top:52px;width:100%;text-align:center}.download-copy h1{font-size:44px;line-height:1.4}.download-copy .download-intro{font-size:18px;white-space:normal}.download-action{margin:auto}.download-art{position:relative;left:auto;top:auto;width:100%;max-width:650px;margin:10px auto 0;z-index:0}.download-primary{width:270px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.device-card{height:170px;padding:25px}.device-icon{width:64px;height:64px}.device-art{right:15px;height:125px}.device-art-ios,.device-art-android{right:22px}.download-main{padding-bottom:40px}.download-page #release-version{margin:auto}.download-action #release-details{text-align:left}}
@media(max-width:480px){.download-page .download-main.wrap{width:calc(100% - 32px)}.download-copy{padding-top:36px}.download-copy h1{font-size:34px;letter-spacing:-.8px}.download-copy .download-intro{font-size:13px;line-height:2;margin:20px 0 26px}.download-primary{width:240px;min-height:60px;font-size:20px;border-radius:13px}.download-action #release-message{font-size:11px}.device-grid{gap:12px}.device-card{height:143px;padding:16px}.device-icon{width:47px;height:47px;border-radius:10px}.device-icon svg{width:27px;height:27px}.device-name{font-size:14px;margin-top:18px}.device-art{height:90px;right:2px;bottom:18px;max-width:56%}.device-art-ios,.device-art-android{right:8px;height:90px}.macos-mark{width:30px;height:30px;font-size:14px}.macos-mark small{font-size:6px}}
/* The hero may extend beyond the content grid, but never beyond the viewport. */
.download-page .download-main{overflow:visible}
.download-action #release-link{margin-top:0}
.device-art{mix-blend-mode:normal;mask-image:none}
@media(min-width:1101px) and (max-width:1600px){.download-art{max-width:calc(59% + (100vw - 100%)/2 - 24px)}}
@media(min-width:801px) and (max-width:1100px){.download-art{max-width:calc(55% + (100vw - 100%)/2 - 16px)}}
/* Mobile releases are scanned from a computer; keep the original page layout. */
#download-qr-dialog{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:38px 24px 25px;border:1px solid #2c4263;border-radius:18px;background:#101b2d;color:#f4f7ff;text-align:center}
#download-qr-dialog::backdrop{background:#030810bd}
#download-qr-close{position:absolute;right:12px;top:8px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#cbd7ea;font-family:inherit;font-size:28px;line-height:1;cursor:pointer}
#download-qr-dialog h2{font-size:23px;line-height:1.5;letter-spacing:0;margin:0 0 10px}
#download-qr-dialog p{font-size:13px;line-height:1.8;color:#a9b8ce;margin:0 0 18px}
#download-qr-image svg{display:block;width:100%;max-width:256px;height:auto;margin:0 auto;background:#fff}
#download-qr-dialog #download-qr-version{font-size:12px;margin:16px 0 0;overflow-wrap:anywhere}
/* Override the site's generic outline-icon paint rules for scannable QR pixels. */
#download-qr-image svg{fill:none;stroke:none;color:#000}
#download-qr-image svg rect{fill:#fff;stroke:none}
#download-qr-image svg path{fill:#000;stroke:none}

.device-qr-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #c8d6ea;background:#edf3fc;color:#607594;font-size:11px;line-height:1.4}
.device-qr-placeholder:before{content:"";display:block;width:32px;height:32px;border:2px dashed #91a8c8;border-radius:4px}
@media(max-width:480px){.device-qr-placeholder{gap:6px;font-size:10px}.device-qr-placeholder:before{width:24px;height:24px}}

/* Fit short desktop windows, but cap the composition on tall displays so
   platform cards follow the hero instead of being pushed to the screen bottom.
   Keep natural scrolling for small screens and expanded release details. */
@media(min-width:801px){
  .download-page .download-main{height:min(calc(100dvh - 88px),calc(40vw + 320px),860px);min-height:480px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;padding-top:16px;padding-bottom:24px}
  .download-page .download-hero{min-height:0;padding:0;display:flex;align-items:center}
  .download-page .download-copy{width:44%;padding-top:0}
  .download-page .download-copy h1{font-size:clamp(32px,min(3.5vw,6.2dvh),60px);line-height:1.45}
  .download-page .download-copy .download-intro{font-size:clamp(14px,min(1.5vw,2.6dvh),25px);line-height:1.9;margin:clamp(16px,2.8dvh,25px) 0 clamp(20px,3.5dvh,36px);letter-spacing:.5px}
  .download-page .download-primary{width:clamp(230px,22vw,315px);min-height:clamp(56px,8dvh,80px);padding:14px 20px;font-size:clamp(18px,2.5dvh,24px)}
  .download-page .download-art{left:42%;top:0;width:58%;max-width:none;height:100%;display:flex;align-items:center}
  .download-page .download-art>img{width:100%;height:100%;object-fit:contain}
  .download-page .device-card{height:clamp(142px,19dvh,186px);padding:clamp(18px,2.7dvh,28px)}
  .download-page .device-icon{width:clamp(48px,7.5dvh,68px);height:clamp(48px,7.5dvh,68px)}
  .download-page .device-name{margin-top:15px}
  .download-page .device-art{height:clamp(90px,14dvh,132px);bottom:18px}
  .download-page .download-main:has(#release-metadata[open]){height:auto;min-height:calc(100dvh - 88px);grid-template-rows:auto auto}
  .download-page .download-main:has(#release-metadata[open]) .download-hero{min-height:380px}
}

/* Other-platform version selection never replaces the detected-device hero. */
#card-download-dialog{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:38px 24px 25px;border:1px solid #2c4263;border-radius:18px;background:#101b2d;color:#f4f7ff;text-align:center}
#card-download-dialog::backdrop{background:#030810bd}
#card-download-close{position:absolute;right:12px;top:8px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#cbd7ea;font-family:inherit;font-size:28px;cursor:pointer}
#card-download-dialog h2{font-size:23px;line-height:1.5;margin:0 0 18px}
#card-download-dialog label{display:block;font-size:14px;color:#a9b8ce;text-align:left}
#card-release-version{width:100%;margin:10px 0 20px;padding:12px;background:#16263f;color:#fff;border:1px solid #405777;border-radius:8px;font:inherit}
#card-download-dialog .download-primary{width:100%;min-height:52px;font-size:18px}

/* QR lives in a click-open dialog; cards keep their product artwork on hover. */
#download-qr-image{width:min(232px,100%);aspect-ratio:1;margin:22px auto 0}
#download-qr-image .device-qr-placeholder{border-radius:12px;box-sizing:border-box;font-size:14px;gap:16px}
#download-qr-image .device-qr-placeholder:before{width:44px;height:44px}
.download-qr-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:18px 0 0;padding:0 18px;border:1px solid #405a7e;border-radius:10px;color:#c8dcff;font-size:14px;text-decoration:none}
.download-qr-link:hover{background:#1d304d;border-color:#8bb7ff}
.download-qr-link:focus-visible{outline:2px solid #93baff;outline-offset:3px}
.download-qr-link[aria-disabled="true"]{cursor:default}
