.canvas-page{overflow:hidden;margin:0;background:radial-gradient(circle at 20% 20%,#f2f2f2,#b7b7ba 60%) #b7b7ba}.canvas-page,.canvas-stage{position:relative;width:100vw;height:100vh}.canvas-stage{z-index:1}.canvas-background{position:absolute;inset:0;z-index:0;pointer-events:none;background-color:#fbfaf6}.canvas{position:relative;z-index:1;width:100%;height:100%;display:block;border:none;border-radius:0;touch-action:none;cursor:crosshair;background-color:rgba(0,0,0,0);filter:none;opacity:1;will-change:filter,opacity}.canvas[data-pen-disabled=true]{cursor:not-allowed}.canvas-stage[data-visibility=exiting] .canvas{animation:synced-fade-hide var(--ink-hide-duration,.8s) ease forwards;animation-fill-mode:forwards}.ink-fade-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;background-image:var(--ink-image);background-repeat:no-repeat;background-size:cover;background-position:50%;mask-image:var(--ink-image);mask-repeat:no-repeat;mask-size:cover;mask-position:center;-webkit-mask-image:var(--ink-image);-webkit-mask-repeat:no-repeat;-webkit-mask-size:cover;-webkit-mask-position:center}.ink-fade-overlay[data-visibility=exiting]{animation:synced-fade-hide var(--ink-hide-duration,.8s) ease forwards;animation-fill-mode:forwards}.recognized-text{position:absolute;color:#0c1324;font-weight:400;line-height:1.35;pointer-events:none;transform:scale(var(--text-scale,1));transform-origin:left center;white-space:nowrap;word-break:keep-all;z-index:3;--char-reveal-interval:40ms;will-change:opacity,filter,transform}.recognized-text__char{display:inline-block;opacity:0;filter:blur(18px);transform:translate3d(0,8px,0)}.recognized-text[data-visibility=visible] .recognized-text__char{animation-name:char-reveal;animation-duration:var(--char-reveal-interval,40ms);animation-delay:calc(var(--char-index, 0)*var(--char-reveal-interval, 40ms));animation-fill-mode:forwards;animation-timing-function:ease}.canvas-page[data-visibility=exiting] .recognized-text,.recognized-text[data-visibility=exiting]{animation:synced-fade-hide var(--ink-hide-duration,.8s) ease forwards;animation-fill-mode:forwards}.canvas-page[data-visibility=exiting] .recognized-text__char,.recognized-text[data-visibility=exiting] .recognized-text__char{animation-name:synced-fade-hide;animation-duration:var(--ink-hide-duration,.8s);animation-delay:0s;animation-timing-function:ease;animation-fill-mode:forwards;transform:translateZ(0);filter:blur(0)}@keyframes char-reveal{0%{opacity:0;filter:blur(18px);transform:translate3d(0,8px,0)}60%{opacity:1;filter:blur(6px)}to{opacity:1;filter:blur(0);transform:translateZ(0)}}@keyframes synced-fade-hide{0%{opacity:1}to{opacity:0}}