/* Overlay is opt-in through JS; script-free navigation stays visible. */
.page-loader{display:none;position:fixed;inset:0;z-index:100000;background:var(--paper);color:var(--ink);align-items:center;justify-content:center;opacity:1;transition:opacity 180ms ease-out}
.page-loader-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px}
.page-loader-brand{font-size:26px;font-weight:650;letter-spacing:.16em;line-height:1.2}
.page-loader-tagline{font-size:8px;letter-spacing:.16em;margin-top:10px}
.page-loader-ring{display:block;width:44px;height:44px;margin-top:35px;border:2px solid var(--line);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:youree-loader-spin 900ms linear infinite}
.page-loader-label{font-size:11px;letter-spacing:.02em;color:var(--muted);margin-top:18px}
.is-page-loading,.is-page-loading body{overflow:hidden}
.is-page-loading .page-loader,.is-page-revealing .page-loader{display:flex}
.is-page-revealing .page-loader{opacity:0;pointer-events:none}
@keyframes youree-loader-spin{to{transform:rotate(360deg)}}
/* Arrival begins when the overlay releases, with no retained transform. */
@media(prefers-reduced-motion:no-preference){
  html:not(.is-page-loading) #main{animation:youree-page-arrive 280ms cubic-bezier(.2,.65,.3,1) backwards}
  @keyframes youree-page-arrive{
    from{opacity:.25;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
  }
}
/* No forwards fill: the main element regains its normal stacking/containing block. */
@media(prefers-reduced-motion:reduce){#main,.page-loader-ring{animation:none}.page-loader{transition:none}}
