/* A viewport overlay, deliberately independent of the dock's filter/containing block. */
canvas.pointer-ribbon{position:fixed;inset:0;z-index:45;display:block;width:100vw;height:100vh;width:100dvw;height:100dvh;max-width:none;max-height:none;pointer-events:none!important;touch-action:auto;user-select:none;-webkit-user-select:none;transform:none;opacity:.94;view-transition-name:kn-pointer-ribbon;contain:strict}
canvas.pointer-ribbon[hidden]{display:none!important}
html.motion-off canvas.pointer-ribbon{display:none!important}
::view-transition-group(kn-pointer-ribbon){animation:none!important;pointer-events:none;z-index:45}
::view-transition-old(kn-pointer-ribbon){display:none!important}
::view-transition-new(kn-pointer-ribbon){animation:none!important;mix-blend-mode:normal!important}
@media(prefers-reduced-motion:reduce){canvas.pointer-ribbon{display:none!important}}
@media print{canvas.pointer-ribbon{display:none!important}}

/* Local pigment stays transparent; no filters or cursor replacement layers. */
canvas.pointer-ribbon[data-pointer-composition="light-brush-v17"]{mix-blend-mode:normal;filter:none}
canvas.pointer-ribbon[data-pointer-theme="night"]{opacity:.9}
