/* Prachuuu's little world — shared accessibility + motion + transitions */

/* keyboard focus: visible ring for keyboard users, none for mouse */
:focus-visible{ outline:3px solid var(--rose,#c97d72); outline-offset:2px; border-radius:5px; }
:focus:not(:focus-visible){ outline:none; }

/* skip-to-content link (appears only when focused) */
.skip-link{ position:fixed; top:-64px; left:12px; z-index:99999;
  background:var(--rose,#c97d72); color:#fff; padding:10px 16px;
  border-radius:0 0 12px 12px; font:600 14px/1 'Inter',system-ui,sans-serif;
  text-decoration:none; box-shadow:0 6px 20px rgba(0,0,0,.25); transition:top .2s; }
.skip-link:focus{ top:0; }

/* cross-page fade (View Transitions API — Chrome/Edge; harmless elsewhere) */
@view-transition{ navigation:auto; }
::view-transition-old(root),::view-transition-new(root){ animation-duration:.34s; }

/* reusable loading shimmer (used by later batches) */
.shimmer{ position:relative; overflow:hidden; background:var(--warm,#eee8e2); }
.shimmer::after{ content:""; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  animation:shimmer 1.3s infinite; }
@keyframes shimmer{ to{ transform:translateX(100%);} }

/* respect people who don't want motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .shimmer::after{ animation:none; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){ animation:none !important; }
}
