.loader{position:fixed;inset:0;z-index:2147483646;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:var(--bg);transition:opacity .25s var(--ease-out)}
.loader:not(.is-out){transition-duration:.12s}
:root[data-loading] .loader{display:flex}
.loader.is-out{opacity:0;pointer-events:none}
.loader__plus{position:relative;width:28px;height:28px;animation:loader-spin 1.1s linear infinite}
.loader__plus:before,.loader__plus:after{content:"";position:absolute;top:50%;left:50%;background:var(--accent);transform:translate(-50%,-50%)}
.loader__plus:before{width:28px;height:3px}
.loader__plus:after{width:3px;height:28px}
.loader__bar{position:relative;width:min(180px,48vw);height:1px;background:color-mix(in srgb,var(--accent) 18%,transparent);overflow:hidden}
.loader__bar>span{position:absolute;inset:0;background:var(--accent);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.loader__num{margin-top:calc(var(--space-2xs) * -1);font:500 var(--text-xs)/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent)}
@keyframes loader-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.loader__plus{animation:none}}
@media print{.loader{display:none!important}}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in){animation:reveal-rise .3s var(--ease-out) both}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(2){animation-delay:40ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(3){animation-delay:80ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(4){animation-delay:120ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(5){animation-delay:160ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(6){animation-delay:200ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(7){animation-delay:240ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(8){animation-delay:280ms}
:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in):nth-child(n+9){animation:none}
@keyframes reveal-rise{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){:root[data-reveal] :is(.index__item,.wk-row):not(.rv,.rv-in){animation:reveal-fade .2s ease both}}
@keyframes reveal-fade{from{opacity:0}}
.img-in{animation:img-in .2s ease}
@keyframes img-in{from{opacity:0}}
