/* Standalone presentation; catalogue, editors and account keep their own layout. */
body.welcome-page{background:#fff}
body.welcome-page main{display:block;width:100%;max-width:none;min-height:100svh;height:auto;padding:0;margin:0}
body.welcome-page .panel:has(#install:not([hidden])){display:flex;flex-direction:column;width:100%;max-width:none;height:auto;min-height:100svh;padding:18px clamp(18px,2.4vw,48px);margin:0;border:0;border-radius:0;background:#fff;overflow:visible;box-shadow:none}
body.welcome-page #install.welcome-mode{--welcome-reserved:180px;display:flex;flex-direction:column;flex:1;min-height:calc(100svh - 36px);width:100%;max-width:none;margin:0;padding:0;gap:12px;transform:none!important}
body.welcome-page #install:has(#choose-installed-community:not([hidden])){--welcome-reserved:238px}
body.welcome-page #welcome.welcome-showcase{display:flex;flex:1;flex-direction:column;justify-content:center;width:100%;max-width:none;min-height:0;margin:0;padding:0;gap:12px}
.welcome-showcase .welcome-stage{position:relative;width:min(100%,calc((100svh - var(--welcome-reserved)) * 1.333333));margin:0 auto;aspect-ratio:1448/1086;container-type:inline-size;flex:none}
.welcome-showcase-art{display:block;width:100%;height:auto;max-width:none;aspect-ratio:1448/1086;object-fit:contain}
.welcome-showcase-intro{position:absolute;z-index:1;left:2%;top:1.5%;width:65%;text-align:left}
.welcome-showcase-intro h1{font-family:inherit;font-size:clamp(27px,4.8cqi,68px);line-height:1.05;font-weight:800;letter-spacing:-.035em;margin:0 0 .18em;color:#172844}
.welcome-showcase-intro h1 span{display:block;color:#226cd0}
#install .welcome-showcase-intro p{max-width:100%;font-size:clamp(13px,1.7cqi,24px);line-height:1.4;font-weight:600;color:#243247;margin:0;min-height:0}
.welcome-mobile-tagline{display:none}
.welcome-benefits{display:grid;grid-template-columns:1fr 1fr 1.2fr;list-style:none;gap:16px;align-items:center;width:min(100%,1440px);padding:0;margin:0 auto;color:#243247}
.welcome-benefits li{display:flex;justify-content:center;align-items:center;gap:12px;min-height:38px;font-size:clamp(14px,1.3vw,20px);font-weight:650;line-height:1.3}
.welcome-benefits li+li{border-left:1px solid #e4ddf4}
.welcome-benefits svg{width:30px;height:30px;flex-shrink:0;color:#a579ee}
body.welcome-page #install .install-actions{display:flex;flex-direction:column;flex:none;gap:10px;width:100%;margin:0;padding:0;background:none;box-shadow:none;position:static}
body.welcome-page #install .install-actions #add-community{display:flex;justify-content:center;align-items:center;flex:none;width:100%;min-height:58px;margin:0;padding:12px 20px;border:0;border-radius:18px;background:var(--ui-primary);color:#fff;box-shadow:0 5px 15px #2688eb1f;font-family:inherit;font-size:clamp(17px,1.6vw,24px);font-weight:750;line-height:1.35;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
body.welcome-page #install .install-actions #add-community::after{content:' →';margin-left:12px;color:inherit}
body.welcome-page #install .install-actions #add-community:hover{background:var(--ui-primary-hover);box-shadow:0 6px 18px #2688eb33}
body.welcome-page #install .install-actions #add-community:active{transform:translateY(1px)}
body.welcome-page #install .install-actions #add-community:focus-visible{outline:3px solid var(--ui-primary-hover);outline-offset:4px}
body.welcome-page #install .install-actions #add-community:disabled{opacity:.65;cursor:wait}
body.welcome-page #choose-installed-community{align-self:center;min-height:40px;max-width:100%;padding:8px 22px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-selected);color:var(--ui-primary-hover);font-size:14px;font-weight:650}
body.welcome-page #install-status:not(:empty){display:block;margin:0;text-align:center;font-size:14px;line-height:1.4;color:#5f7087}
@media(max-width:700px){
 body.welcome-page .panel:has(#install:not([hidden])){padding:16px}
 body.welcome-page #install.welcome-mode{min-height:calc(100svh - 32px);--welcome-reserved:290px;gap:18px}
 body.welcome-page #welcome.welcome-showcase{gap:18px;justify-content:center}
 .welcome-showcase .welcome-stage{width:100%;max-width:600px}
 .welcome-showcase-intro{top:1%;left:2%;width:66%}
 .welcome-showcase-intro h1{font-size:clamp(20px,5.2cqi,33px);line-height:1.12;letter-spacing:-.035em}
 #install .welcome-showcase-intro p{display:none}
 #install .welcome-mobile-tagline{display:block;margin:0 auto;max-width:380px;min-height:0;color:#5f7087;font-size:14px;line-height:1.5;text-align:center}
 .welcome-benefits{grid-template-columns:1fr;gap:12px;width:max-content;max-width:100%;margin:0 auto}
 .welcome-benefits li{justify-content:flex-start;min-height:28px;font-size:14px;gap:12px}
 .welcome-benefits li+li{border-left:0}
 .welcome-benefits svg{width:26px;height:26px}
 body.welcome-page #install .install-actions #add-community{min-height:54px;border-radius:16px;font-size:17px;padding-inline:12px}
 body.welcome-page #install .install-actions #add-community::after{margin-left:8px}
}
@media(min-width:701px) and (max-height:620px){
 body.welcome-page #install.welcome-mode{min-height:540px;--welcome-reserved:150px}
 .welcome-showcase .welcome-stage{width:min(100%,650px)}
 .welcome-benefits li{font-size:13px}.welcome-benefits svg{width:24px;height:24px}
}
@media(prefers-reduced-motion:reduce){body.welcome-page #install .install-actions #add-community{transition:none}}
/* Let short windows and zoomed layouts scroll naturally instead of clipping the CTA. */
html.welcome-page-root:has(body.welcome-page){height:auto;min-height:100%;overflow:auto}
body.welcome-page{height:auto;min-height:100svh;overflow:visible}
