.install-heading{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.install-heading:hover{text-decoration:underline;text-underline-offset:4px}
.install-option .install-icon{display:grid;place-items:center;flex:0 0 24px}.install-icon svg,.vim-install-tabs svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#installModal.vim-install{border:0;padding:0;margin:auto;width:min(780px,calc(100% - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;color:#082d34;border-radius:26px;box-shadow:0 30px 90px #001b264d;z-index:1000}
#installModal::backdrop{background:#001d28b8;backdrop-filter:blur(6px)}
.vim-install-header{display:flex;gap:18px;align-items:center;padding:26px 66px 18px 26px;position:relative}.vim-install-logo{width:84px;height:84px;flex:0 0 84px;border-radius:7px}.vim-install-brand{font-size:12px;letter-spacing:.06em;font-weight:700;color:#008c98}.vim-install-header h2{font-size:clamp(23px,3vw,29px);line-height:1.15;letter-spacing:-.025em;margin:6px 0 8px}.vim-install-header p{color:#526e75;font-size:15px;line-height:1.5;margin:0}
.vim-install-close{position:absolute;inset-inline-end:12px;top:12px;border:0;border-radius:50%;background:#edf6f5;color:#082d34;cursor:pointer;width:44px;height:44px;font-size:26px}
.vim-install-grid{display:grid;grid-template-columns:minmax(0,1fr) 186px;gap:24px;padding:0 26px 26px}.vim-install-grid>*{min-width:0}.vim-install-grid>section{padding:0}
.vim-install-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}.vim-install-tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:74px;border:1px solid #d3e5e7;border-radius:13px;background:#fff;color:#31525b;padding:9px 5px;font:inherit;font-size:13px;line-height:1.25;cursor:pointer;overflow-wrap:anywhere}.vim-install-tabs button[aria-selected=true]{border-color:#00a9b7;background:#eafafa;color:#006572}
.vim-install-primary{width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:14px;background:#009baa;color:white;font:inherit;font-weight:700;cursor:pointer;margin-bottom:12px}.vim-install-primary[hidden]{display:none}
.vim-install-status{background:#eff8f7;padding:10px 12px;border-radius:11px;font-size:14px;line-height:1.5;margin:0 0 12px;color:#24515a}.vim-install-status[hidden]{display:none}
.vim-install-guide h3{margin:10px 0;font-size:18px;line-height:1.35}.vim-install-guide ol{padding-inline-start:22px;margin:10px 0 0;display:grid;gap:11px;color:#355963;font-size:15px;line-height:1.5}.vim-install-guide li{padding-inline-start:3px;overflow-wrap:anywhere}
.vim-install-share{align-self:start;background:#f4f9f9;border:1px solid #deebed;border-radius:17px;padding:14px;display:grid;gap:12px;text-align:center}.vim-install-share h3{font-size:15px;line-height:1.4;margin:0}.vim-install-share img{width:142px;height:142px;max-width:100%;justify-self:center;background:white;border-radius:8px}.vim-install-share input{box-sizing:border-box;width:100%;min-width:0;font-size:11px;padding:8px;border:1px solid #d3e5e7;border-radius:8px;background:white;color:#355963;direction:ltr}.vim-install-share button{font:inherit;font-size:13px;min-height:44px;padding:9px;border:1px solid #00a9b7;background:white;color:#006572;border-radius:11px;cursor:pointer;overflow-wrap:anywhere}.vim-install-share [role=status]{font-size:12px;line-height:1.4;color:#355963;margin:0}
.vim-install button:focus-visible{outline:3px solid #00a9b7;outline-offset:3px}
.vim-install-header{padding-inline-start:26px;padding-inline-end:66px}
.vim-install-header>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.vim-install-header{padding:22px 54px 18px 18px;gap:12px;align-items:flex-start}.vim-install-logo{width:64px;height:64px;flex-basis:64px}.vim-install-header h2{font-size:23px}.vim-install-header p{font-size:14px}.vim-install-grid{grid-template-columns:minmax(0,1fr);padding:0 18px 22px;gap:20px}.vim-install-share{grid-template-columns:92px minmax(0,1fr);text-align:start;gap:10px 14px;align-items:center}.vim-install-share img{grid-column:1;grid-row:1/4;width:92px;height:92px}.vim-install-share h3,.vim-install-share input,.vim-install-share button{grid-column:2}.vim-install-share [role=status]{grid-column:1/-1}.vim-install-tabs button{font-size:12px}.vim-install-guide ol{font-size:14px}}
@media(prefers-reduced-motion:reduce){#installModal::backdrop{backdrop-filter:none}}
@media(max-width:600px){.vim-install-header{padding-inline-start:18px;padding-inline-end:54px}}

/* Keep the translated dialog name for assistive technology without repeating it visually. */
.vim-install-header{display:grid;grid-template-columns:84px minmax(0,1fr);gap:6px 18px}
.vim-install-logo{grid-column:1;grid-row:1/3;align-self:center}
.vim-install-header>div{grid-column:2;grid-row:1;align-self:end}
.vim-install-header #installLead{grid-column:2;grid-row:2;align-self:start}
.vim-install-header h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:-1px;border:0}

/* Match support-form readability; QR gets its own full-width row on phones. */
@media(max-width:760px){
 #installModal.vim-install{box-sizing:border-box;width:min(560px,calc(100% - 24px));margin:16px auto auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin-top:calc(16px + env(safe-area-inset-top,0px));overscroll-behavior:contain;font-size:16px;line-height:1.5}
 .vim-install-header{grid-template-columns:64px minmax(0,1fr);gap:12px 14px;padding:18px 18px 20px;padding-inline-end:18px}
 .vim-install-logo{width:64px;height:64px;grid-row:1;flex-basis:64px}
 .vim-install-header>div{align-self:center;padding-inline-end:48px}
 .vim-install-brand{font-size:16px;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
 .vim-install-header #installLead{grid-column:1/-1;grid-row:2;font-size:16px;line-height:1.5;margin:0}
 .vim-install-close{width:48px;height:48px;font-size:28px;top:12px;inset-inline-end:12px}
 .vim-install-grid{grid-template-columns:minmax(0,1fr);padding:0 18px 24px;gap:24px}
 .vim-install-tabs{gap:8px;margin-bottom:18px}
 .vim-install-tabs button{font-size:16px;line-height:1.4;min-height:84px;padding:10px 5px}
 .vim-install-status{font-size:16px;line-height:1.5;padding:12px 14px}
 .vim-install-primary{font-size:16px;line-height:1.4;min-height:52px}
 .vim-install-guide h3{font-size:20px;line-height:1.4;margin:14px 0;overflow-wrap:anywhere}
 .vim-install-guide ol{font-size:16px;line-height:1.6;gap:14px}
 .vim-install-share{grid-template-columns:minmax(0,1fr);text-align:center;gap:14px;padding:16px;align-items:start}
 .vim-install-share img{grid-column:1;grid-row:auto;width:min(240px,100%);height:auto;aspect-ratio:1/1}
 .vim-install-share h3,.vim-install-share input,.vim-install-share button{grid-column:1}
 .vim-install-share h3{font-size:18px;line-height:1.4}
 .vim-install-share input{min-height:52px;font-size:16px;line-height:1.5;padding:12px}
 .vim-install-share button{min-height:52px;font-size:16px;font-weight:600;line-height:1.4;padding:12px}
 .vim-install-share [role=status]{font-size:15px;line-height:1.5}
}
