/* ============================================================
   iRest 中国 · 云母材质（Mica）· 全站共用
   ------------------------------------------------------------
   固定全屏极淡珠光层 + 鼠标柔光。
   原则：只做“空气感”，彩度压到几乎察觉不到；
   鼠标处只给光，不给颜色。
   由 assets/js/mica.js 注入 DOM 并接管鼠标跟随。
   ============================================================ */

body.mica { background: transparent; }

/* —— 固定全屏云母层 —— */
.mica-bg {
  position: fixed; inset: 0; z-index: -2; overflow: hidden;
  pointer-events: none;
  background: var(--color-paper);
}
.mica-blob {
  position: absolute; border-radius: 50%;
  filter: blur(90px);
  will-change: transform;
}

/* 松绿（已淡化：彩度 0.045 → 0.028，透明度同步下调） */
.mica-blob-1 {
  width: 72vmax; height: 72vmax; left: -20vmax; top: -22vmax;
  background: radial-gradient(circle, oklch(92.0% 0.028 158 / 0.80) 0%, oklch(92.0% 0.028 158 / 0) 64%);
  animation: mica-drift-1 36s ease-in-out infinite alternate;
}
/* 青（同上，只留一丝凉意） */
.mica-blob-2 {
  width: 64vmax; height: 64vmax; right: -18vmax; top: 4vmax;
  background: radial-gradient(circle, oklch(92.2% 0.024 196 / 0.72) 0%, oklch(92.2% 0.024 196 / 0) 64%);
  animation: mica-drift-2 44s ease-in-out infinite alternate;
}
/* 晨曦暖（红的那一侧：几乎只剩“暖”，不再发色） */
.mica-blob-3 {
  width: 68vmax; height: 68vmax; left: 10vmax; bottom: -30vmax;
  background: radial-gradient(circle, oklch(94.0% 0.016 72 / 0.62) 0%, oklch(94.0% 0.016 72 / 0) 66%);
  animation: mica-drift-3 50s ease-in-out infinite alternate;
}
/* 珍珠虹彩（极淡） */
.mica-blob-4 {
  width: 46vmax; height: 46vmax; right: 6vmax; bottom: -12vmax;
  background: radial-gradient(circle, oklch(94.2% 0.012 322 / 0.46) 0%, oklch(94.2% 0.012 322 / 0) 65%);
  animation: mica-drift-1 40s ease-in-out infinite alternate-reverse;
}

@keyframes mica-drift-1 {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(6vmax, 4vmax, 0) scale(1.12); }
}
@keyframes mica-drift-2 {
  from { transform: translate3d(0, 0, 0) scale(1.08); }
  to   { transform: translate3d(-5vmax, 5vmax, 0) scale(1); }
}
@keyframes mica-drift-3 {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(4vmax, -5vmax, 0) scale(1.14); }
}

/* 云母斜向珠光 */
.mica-sheen {
  position: absolute; inset: 0;
  background: linear-gradient(118deg,
    oklch(100% 0 0 / 0.40) 0%, transparent 28%,
    oklch(100% 0 0 / 0.14) 47%, transparent 60%,
    oklch(100% 0 0 / 0.24) 80%, transparent 100%);
  mix-blend-mode: screen; opacity: 0.5;
}
/* 矿物细噪点 */
.mica-grain {
  position: absolute; inset: 0;
  background-image: var(--grain); background-size: 180px;
  opacity: 0.045; mix-blend-mode: soft-light;
}

/* —— 各分区改为半透明，让云母透出 ——
   关键：所有浅色分区用同一个不透明度（66%），
   否则相邻区块的云母浓度不同，会出现横向拼接的色带。 */
body.mica .section,
body.mica .bg-paper,
body.mica .bg-soft,
body.mica .benefit-wall,
body.mica .news-page { background: color-mix(in oklab, var(--color-paper) 66%, transparent); }
/* 云母页面上不再用 paper-2 给整块分区换底色：
   两者只差 2 级明度，叠在半透明上会露出一道横向硬边，
   反倒像渲染错误。分区节奏交给留白与长标题。 */
body.mica .try-band { background: color-mix(in oklab, var(--color-paper-2) 60%, transparent); }

body.mica .night { background: color-mix(in oklab, var(--color-band) 90%, transparent); }
body.mica .hero {
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--color-band) 92%, transparent) 0%,
    color-mix(in oklab, var(--color-band-2) 90%, transparent) 58%,
    color-mix(in oklab, var(--color-band-3) 93%, transparent) 100%);
}
body.mica .page-hero {
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--color-band) 92%, transparent) 0%,
    color-mix(in oklab, var(--color-band-2) 90%, transparent) 100%);
}
body.mica .site-footer { background: color-mix(in oklab, var(--color-band-3) 93%, transparent); }

/* —— 鼠标跟随：一团光，只有光，没有颜色 ——
   单层单圆（原来「大柔光 + 小光核」两层叠在一起，看得出两个圈）。
   半径内用多档色标把衰减铺平，边缘收到完全透明，不留硬边。 */
.mica-cursor {
  position: fixed; inset: 0; z-index: 6; pointer-events: none;
  opacity: 0; transition: opacity .55s ease;
  background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),
    oklch(100% 0 0 / 0.300) 0%,
    oklch(100% 0 0 / 0.288) 16%,
    oklch(100% 0 0 / 0.246) 32%,
    oklch(100% 0 0 / 0.182) 48%,
    oklch(100% 0 0 / 0.106) 64%,
    oklch(100% 0 0 / 0.040) 80%,
    oklch(100% 0 0 / 0) 100%);
  mix-blend-mode: soft-light;
}
body.mica .mica-cursor.is-on { opacity: 1; }

@media (hover: none) { .mica-cursor { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .mica-blob { animation: none; }
  .mica-cursor { transition: none; }
}
