/* Transitions entre les pages : colonnes qui balaient l'écran + libellé façon terminal */
html.pt-enter::after{content:"";position:fixed;inset:0;z-index:10000;background:#111110}
.pt{position:fixed;inset:0;z-index:10001;display:flex;pointer-events:none;visibility:hidden}
.pt.on{visibility:visible;pointer-events:all}
.pt i{flex:1;position:relative;overflow:hidden;margin-right:-1px}
.pt b{position:absolute;inset:0;background:#111110;transform:translateY(101%);transition:transform .58s cubic-bezier(.76,0,.24,1) var(--d)}
.pt b::before,.pt b::after{content:"";position:absolute;left:0;right:0;height:2px;background:#9aff4d;box-shadow:0 0 18px 2px #9aff4d99}
.pt i:nth-child(3n+2) b::before,.pt i:nth-child(3n+2) b::after{background:#5203bf;box-shadow:0 0 22px 3px #5203bfbb}
.pt b::before{top:-2px}.pt b::after{bottom:-2px}
.pt.cover b{transform:translateY(0)}
.pt.leave b{transform:translateY(-101%)}
.pt.instant b,.pt.instant .pt-label,.pt.instant .pt-bar::after{transition:none!important}
.pt::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff07 0 1px,transparent 1px 4px);opacity:0;transition:opacity .3s}
.pt.cover::after{opacity:1;transition-delay:.25s}
.pt-label{position:absolute;z-index:3;left:5%;bottom:7%;color:#eae9e5;font:500 11px/1.4 ui-monospace,'SF Mono',Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .2s}
.pt.cover .pt-label{opacity:1;transition-delay:.3s}
.pt-label strong{display:block;margin-top:14px;font:800 clamp(44px,8vw,120px)/.95 'Manrope',sans-serif;letter-spacing:-.065em;text-transform:none;white-space:nowrap}
.pt-label .pt-meta em{font-style:normal;color:#9aff4d}
.pt-bar{display:block;position:relative;width:min(340px,62vw);height:2px;margin-top:22px;background:#ffffff1f;overflow:hidden}
.pt-bar::after{content:"";position:absolute;inset:0;background:#9aff4d;transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.65,0,.35,1) .3s}
.pt.cover .pt-bar::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){html.pt-enter::after{display:none}.pt{display:none}}
/* Les liserés n'apparaissent que pendant le mouvement */
.pt b::after{opacity:0}
.pt.cover b::before{opacity:0;transition:opacity .15s calc(var(--d) + .45s)}
.pt.leave b::before{opacity:0}
.pt.leave b::after{opacity:1}
