/* ══ 拾货集 · 全站共享打磨层 ══
   在各页面 <style> 之前引入，页面内样式优先级更高 */

/* 键盘焦点环 */
:focus-visible{outline:2px solid #1E9E78;outline-offset:2px;border-radius:6px}

/* 按钮按下的微反馈 */
button:active:not(:disabled){transform:translateY(1px)}

/* 图片加载中的底色（加载完成后被图片覆盖） */
img{background:linear-gradient(120deg,#EFEEE8,#E6E4DB)}

/* 尊重系统的减少动效设置 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ── Toast 轻提示 ── */
#sh-toasts{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.sh-toast{display:flex;align-items:center;gap:10px;background:#131A15;color:#EDEAE2;padding:12px 18px;border-radius:99px;font-size:13.5px;line-height:1.5;font-family:'Noto Sans SC',sans-serif;box-shadow:0 14px 34px -12px rgba(19,26,21,.45);animation:shToastIn .28s cubic-bezier(.2,.9,.3,1.15);max-width:min(420px,calc(100vw - 36px));pointer-events:auto}
.sh-toast.out{animation:shToastOut .25s forwards}
.sh-toast i{font-style:normal;width:20px;height:20px;border-radius:99px;display:grid;place-items:center;font-size:11px;flex-shrink:0}
.sh-toast.ok i{background:#1E9E78;color:#fff}
.sh-toast.err i{background:#c0564f;color:#fff}
.sh-toast.info i{background:rgba(255,255,255,.16);color:#CFE3D8}
@keyframes shToastIn{from{opacity:0;transform:translateX(24px)}}
@keyframes shToastOut{to{opacity:0;transform:translateX(24px)}}
