/* Self-contained on purpose — shared across pages that don't otherwise
   share a token system (marketing pages vs the app shell). */

.page-loader{
position:fixed;
inset:0;
background:#14171B;
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
opacity:1;
visibility:visible;
transition:opacity .35s ease, visibility 0s linear 0s;
}

.page-loader.hide{
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity .35s ease, visibility 0s linear .35s;
}

.page-loader-anim{
width:200px;
height:200px;
}
