/* ===========================================================
   鼠标柔光（admin.html / super-admin.html 专用）
   纯装饰层：pointer-events 全部关掉，不影响任何点击和选择
   - data-layer="back"   ：铺在卡片下面，让背景有一层会移动的暖光
   - data-layer="front"  ：贴在光标附近的一小团柔光，浮在内容之上
   =========================================================== */
.cursor-glow{
  position:fixed;
  left:0;
  top:0;
  width:0;
  height:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .5s ease;
  will-change:transform;
}
.cursor-glow.is-live{opacity:1}
.cursor-glow span{
  position:absolute;
  display:block;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

/* 背景大光斑：在卡片缝隙和留白处慢慢晕开
   颜色走"珍珠白 + 一点点冷紫 + 一点点暖金"，浅色画布上是干净的光，不发黄 */
.cursor-glow[data-layer="back"]{z-index:-1}
.cursor-glow[data-layer="back"] span:nth-child(1){
  width:620px;
  height:620px;
  background:radial-gradient(circle,rgba(196,182,255,.13) 0,rgba(160,196,255,.07) 42%,rgba(150,190,255,0) 74%);
  filter:blur(48px);
}
.cursor-glow[data-layer="back"] span:nth-child(2){
  width:300px;
  height:300px;
  background:radial-gradient(circle,rgba(255,252,244,.19) 0,rgba(255,231,199,.08) 46%,rgba(255,224,186,0) 78%);
  filter:blur(28px);
  opacity:.9;
}

/* 光标柔光：一小团偏白的光，跟着光标走，任何颜色的底色上都能看见 */
.cursor-glow[data-layer="front"]{z-index:30}
.cursor-glow[data-layer="front"] span:nth-child(1){
  width:300px;
  height:300px;
  background:radial-gradient(circle,rgba(190,180,255,.11) 0,rgba(150,190,255,.05) 46%,rgba(140,180,255,0) 78%);
  filter:blur(26px);
}
.cursor-glow[data-layer="front"] span:nth-child(2){
  width:96px;
  height:96px;
  background:radial-gradient(circle,rgba(255,250,240,.30) 0,rgba(255,240,224,.11) 54%,rgba(255,232,208,0) 84%);
  filter:blur(12px);
}

/* 点下去的时候柔光收一点，像真的按到了光 */
.cursor-glow[data-layer="front"]{transition:opacity .45s ease}
body.is-cursor-press .cursor-glow[data-layer="front"] span:nth-child(2){
  width:52px;
  height:52px;
}

@media (prefers-reduced-motion:reduce){
  .cursor-glow{display:none!important}
}

/* 支持加色混合的浏览器：光斑按"发光"方式叠加
   浅色画布上是一块更亮更暖的光，深色画布上是一团柔和的光晕，都不会像脏印子 */
@supports (mix-blend-mode:plus-lighter){
  .cursor-glow[data-layer="back"] span:nth-child(1){
    width:700px;
    height:700px;
    background:radial-gradient(circle,rgba(188,176,255,.15) 0,rgba(158,196,255,.07) 44%,rgba(150,192,255,0) 76%);
    filter:blur(62px);
    mix-blend-mode:plus-lighter;
  }
  .cursor-glow[data-layer="back"] span:nth-child(2){
    width:340px;
    height:340px;
    background:radial-gradient(circle,rgba(255,252,246,.18) 0,rgba(255,230,200,.08) 48%,rgba(255,224,190,0) 80%);
    filter:blur(32px);
    mix-blend-mode:plus-lighter;
  }
  .cursor-glow[data-layer="front"] span:nth-child(1){
    background:radial-gradient(circle,rgba(184,176,255,.105) 0,rgba(150,192,255,.05) 46%,rgba(142,184,255,0) 78%);
    mix-blend-mode:plus-lighter;
  }
  .cursor-glow[data-layer="front"] span:nth-child(2){
    background:radial-gradient(circle,rgba(255,250,240,.28) 0,rgba(255,242,226,.10) 54%,rgba(255,234,212,0) 84%);
    mix-blend-mode:plus-lighter;
  }
}
