/* The opening line occupies the exact border of the existing project dock. */
html[data-intro]{overflow:hidden;scrollbar-gutter:stable;overscroll-behavior:none}
.opening{display:none;position:fixed;inset:0;z-index:30;background:var(--bg);pointer-events:auto;opacity:1;transition:opacity .72s ease}
html[data-intro] .opening{display:block}
.opening-track{position:absolute;left:var(--intro-left,var(--gutter));top:var(--intro-top,calc(100svh - 127px));width:var(--intro-width,calc(100% - 2 * var(--gutter)));height:1px}
.opening-line{position:absolute;inset:0;background:var(--text);transform:scaleX(var(--intro-progress,0));transform-origin:left center;transition:opacity .72s ease}
.opening-percent{position:absolute;left:var(--intro-head,0%);bottom:17px;transform:translateX(-50%);font:12px/1 monospace;font-variant-numeric:tabular-nums;color:var(--text);transition:opacity .3s ease;white-space:nowrap}
html[data-intro="pending"] .project-rail{visibility:hidden}
html[data-intro] .project-rail{pointer-events:none}
html[data-intro] .intro-ink{display:inline-block;white-space:pre;opacity:var(--intro-ink,0);filter:blur(var(--intro-blur,7px));transform:translateY(var(--intro-rise,7px));mask-image:linear-gradient(105deg,#000 calc(var(--intro-ink,0) * 140% - 35%),transparent calc(var(--intro-ink,0) * 140% + 15%));-webkit-mask-image:linear-gradient(105deg,#000 calc(var(--intro-ink,0) * 140% - 35%),transparent calc(var(--intro-ink,0) * 140% + 15%))}
html[data-intro] :is(.hero-reveal,.hero-controls,.hero-footnote,.site-header){opacity:0;filter:blur(7px);transition:opacity .8s ease,filter .9s ease}
html[data-intro="revealing"] .opening{opacity:0;pointer-events:none}
html[data-intro="revealing"] .opening-percent{opacity:0}
html[data-intro="revealing"] :is(.hero-reveal,.hero-controls,.hero-footnote,.site-header){opacity:1;filter:blur(0)}
@media(max-width:700px){.opening-percent{font-size:11px;bottom:15px}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}html[data-intro] :is(.hero-reveal,.hero-controls,.hero-footnote,.site-header){opacity:1;filter:none;transition:none}}
