/* Shared by the public site, account pages and persistent workspace shell. */
.site-loader{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:var(--paper,#f4f3ef);color:var(--primary,#34392d);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 0s linear 180ms}
.site-loader-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center}
.site-loader-art{display:block;width:132px;height:106px;overflow:visible}
.site-loader-copy{display:flex;flex-direction:column;align-items:center;gap:8px}
.site-loader-brand{font-family:inherit;font-size:28px;font-weight:750;line-height:1.6;color:var(--ink,#282824)}
.site-loader-brand>span{color:var(--accent,#a65337)}
.site-loader-caption{font-size:14px;font-weight:450;line-height:1.9;color:var(--text,#43463d)}
.loader-comb-float{color:var(--muted,#5d6055);transform-origin:84px 43px;animation:loader-comb 1800ms cubic-bezier(.45,0,.35,1) infinite}
.loader-scissor-upper,.loader-scissor-lower{transform-origin:12px 11.9px;animation:loader-snip 1800ms cubic-bezier(.45,0,.35,1) infinite}
.loader-scissor-lower{animation-name:loader-snip-lower}
.loader-pivot{fill:var(--accent,#a65337);stroke:var(--accent,#a65337)}
.site-loader-art g{animation-play-state:paused}
:root[data-site-loading] .site-loader{opacity:1;visibility:visible;transition-delay:0s}
:root[data-site-loading] .site-loader-art g{animation-play-state:running}
:root[data-site-loading] .loader-comb-float,:root[data-site-loading] .loader-scissor-upper,:root[data-site-loading] .loader-scissor-lower{will-change:transform}
:root[data-site-loading=initial] .site-loader{pointer-events:auto}
:root[data-site-loading=navigation] .site-loader{inset:80px auto auto 50%;display:block;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);border:1px solid var(--line-strong,#d3d1c5);border-radius:16px;background:var(--surface-raised,#fcfbf7);box-shadow:0 5px 22px var(--shadow,#20261b26)}
:root[data-site-loading=navigation] .site-loader-content{flex-direction:row;gap:10px;padding:9px 17px 9px 11px;direction:rtl}
:root[data-site-loading=navigation] .site-loader-art{width:62px;height:50px;flex:none}
:root[data-site-loading=navigation] .site-loader-brand{display:none}
.site-loading-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep entrance keyframes at their first frame until the loading curtain is gone. */
:root[data-site-entering] body>:not(.site-loader),:root[data-site-entering] body>:not(.site-loader) *,:root[data-site-entering] body>:not(.site-loader)::before,:root[data-site-entering] body>:not(.site-loader)::after,:root[data-site-entering] body>:not(.site-loader) *::before,:root[data-site-entering] body>:not(.site-loader) *::after{animation-play-state:paused!important}
:root[data-loading-paused] .site-loader-art g{animation-play-state:paused}
@keyframes loader-snip{0%,15%,65%,100%{transform:rotate(0deg)}30%,48%{transform:rotate(-18deg)}39%{transform:rotate(-5deg)}}
@keyframes loader-snip-lower{0%,15%,65%,100%{transform:rotate(0deg)}30%,48%{transform:rotate(18deg)}39%{transform:rotate(5deg)}}
@keyframes loader-comb{0%,100%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
@media(max-width:760px){:root[data-site-loading=navigation] .site-loader{inset-block-start:72px}.site-loader-art{width:120px;height:96px}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.site-loader-art g{animation:none!important}}
