/* 一匹だけ、画面端や案内の上の余白に登場。本文レイアウトは変更しない。 */
.peek-cat-space { padding-top:48px; }
.peek-cat-shell { position:fixed; z-index:3; overflow:hidden; pointer-events:none; contain:layout paint; }
.peek-cat-shell[hidden] { display:none; }
.peek-cat-button { display:block; width:100%; height:100%; padding:0; border:0; margin:0; border-radius:0; background:transparent; cursor:pointer; pointer-events:auto; touch-action:pan-y; -webkit-tap-highlight-color:transparent; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.peek-cat-button canvas { display:block; width:100%; height:100%; pointer-events:none; }
.peek-cat-shell[data-side="left"] .peek-cat-button { transform:translateX(-105%); }
.peek-cat-shell[data-side="right"] .peek-cat-button { transform:translateX(105%); }
.peek-cat-shell[data-side="top"] .peek-cat-button { transform:translateY(105%); }
.peek-cat-shell.is-visible .peek-cat-button { transform:translate(0,0); }
.peek-cat-button:disabled { pointer-events:none; }
.peek-cat-button:focus-visible { outline:3px solid var(--accent-dark); outline-offset:-3px; border-radius:12px; }
@media(prefers-reduced-motion:reduce) { .peek-cat-shell { display:none!important; } .peek-cat-button { transition:none; } }
