[hidden] { display:none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.install-mode { background:#f4f6f5; }
.install-mode>footer,.install-mode>.skip-link { display:none; }
#install-page { min-height:100svh; display:grid; grid-template-rows:auto 1fr auto; padding:20px 24px 22px; background:#f4f6f5; }
.install-brand>a { display:inline-flex; align-items:center; gap:9px; color:#08263b; font-size:27px; letter-spacing:-1px; }
/* Keep the arrow at the download edge; let the card extend off the left on narrow windows. */
.download-guidance { --download-panel-offset:479px; position:fixed; top:0; right:min(var(--download-panel-offset),max(0px,calc(100vw - 120px))); width:max-content; z-index:50; display:flex; align-items:center; gap:16px; animation:guide-to-download 3s ease-in-out infinite; }
.guidance-card { display:flex; flex:none; align-items:center; gap:14px; padding:18px 20px; background:#fff; border:2px solid #27844b; border-radius:7px; box-shadow:0 12px 25px #12352116; }
.guidance-card>img { width:44px; height:44px; flex:none; }
.guidance-card strong { display:block; white-space:nowrap; font-size:20px; font-weight:800; line-height:1.25; color:#17492b; }
body:is([data-browser="chrome"],[data-browser="firefox"]) .guidance-card strong { font-size:17px; }
.guidance-card p { margin:7px 0 0; color:#67736d; font-size:12px; line-height:1.4; white-space:nowrap; }
.guidance-card a { text-decoration:underline; text-underline-offset:2px; }
.download-pointer { width:110px; height:100px; flex:none; color:#27844b; }
/* The card and arrow travel as one group, ending beside the first download. */
@keyframes guide-to-download { 0%,100% { transform:translateX(calc(-1 * var(--guide-travel,80px))); } 50% { transform:translateX(0); } }
body[data-browser="chrome"] .download-guidance { --download-panel-offset:400px; top:0; }
body[data-browser="edge"] .download-guidance { --download-panel-offset:479px; }
/* Firefox's wider panel begins farther left, with its first file near the page's top edge. */
body[data-browser="firefox"] .download-guidance { --download-panel-offset:625px; }
.install-intro { align-self:center; text-align:center; padding:105px 12px 150px; }
#install-heading { font-size:clamp(27px,2.5vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.8px; margin:0 0 16px; outline:none; }
.install-retry { color:#58646b; font-size:16px; margin:0; line-height:1.5; }
.install-retry a { font-weight:600; color:inherit; text-decoration:underline; text-underline-offset:2px; }
.install-steps { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); width:min(100%,1060px); margin:0 auto; padding:24px 35px 26px; background:white; border-radius:48px; box-shadow:0 12px 22px #102a2012; gap:40px; }
.install-steps li { display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; gap:0; }
.install-steps li+li::before { content:'→'; position:absolute; left:-49px; top:53%; color:#a8b7ad; font-size:30px; font-weight:300; }
.install-step-number { display:grid; place-items:center; width:51px; height:51px; border:3px solid #d5ded8; border-radius:50%; color:#a0aea5; flex:none; font-size:20px; font-weight:700; margin-bottom:14px; }
.step-done .install-step-number { background:#27844b; border-color:#27844b; color:white; font-size:28px; }
.step-current .install-step-number { border-color:#27844b; color:#27844b; }
.install-step-label { color:#244631; font-size:11px; font-weight:700; margin-bottom:9px; }
.install-steps p { font-size:15px; line-height:1.5; margin:0; color:#425b4b; max-width:240px; }
.install-steps li:last-child .install-step-label,.install-steps li:last-child p { color:#8a978f; }
.thank-you-page #install-heading { text-wrap:balance; }
.thank-you-page .install-steps li:last-child .install-step-label { color:#244631; }
.thank-you-page .install-steps li:last-child p { color:#425b4b; }
[data-retry][aria-disabled="true"] { opacity:.6; cursor:wait; }
@media(max-width:1200px) {
 .download-guidance { --guide-travel:20px; gap:10px; }
 .guidance-card { padding:15px; gap:10px; }
 .guidance-card strong { font-size:18px; }
 body:is([data-browser="chrome"],[data-browser="firefox"]) .guidance-card strong { font-size:15px; }
 .guidance-card p { font-size:11px; }
 .guidance-card>img { width:38px; height:38px; }
 .download-pointer { width:85px; }
 .install-brand>a { font-size:23px; }
}
@media(max-width:1000px) {
 .install-intro { padding-bottom:75px; }
 .install-steps { padding:24px; gap:24px; border-radius:28px; }
 .install-steps li+li::before { left:-28px; font-size:24px; }
 .install-steps p { font-size:14px; }
}
@media(max-width:600px) {
 #install-page { padding:20px 18px; gap:0; }
 .guidance-card { padding:12px; }
 .guidance-card strong { font-size:16px; }
 body:is([data-browser="chrome"],[data-browser="firefox"]) .guidance-card strong { font-size:14px; }
 .guidance-card>img { width:32px; height:32px; }
 .install-intro { padding:105px 5px 60px; }
 #install-heading { font-size:28px; }
 .install-retry { font-size:14px; }
 .install-steps { grid-template-columns:1fr; gap:24px; border-radius:24px; padding:26px; }
 .install-steps li+li::before { display:none; }
 .install-step-number { width:42px; height:42px; margin-bottom:10px; }
}
@media(prefers-reduced-motion:reduce) { .download-guidance { animation:none; } }
.download-guidance:hover,.download-guidance:focus-within { animation-play-state:paused; }
/* Aim toward the first download while keeping the arrowhead inside the page. */
body:is([data-browser="chrome"],[data-browser="firefox"]) .download-pointer { transform:translateY(-8px) rotate(-30deg); }
