/* ============================================================
   液态玻璃材质层（2026-10-17）
   作用域：仅 html[data-glass="on"] 的展示层 / 玩法层页面。
   测评答题、采集授权、删除确认、研究版与后台不挂该属性，保持不透明纸面。
   约束：沿用纸白 / 炭黑 / 警示黄色系，不引入蓝紫；正文与控件字号不变；
        backdrop-filter 不可用时整层不生效，回退为原纸面（不出现半透明裸奔）。
   ============================================================ */

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  html[data-glass="on"] {
    --gl-blur: 16px;
    --gl-sat: 1.28;
    --gl-bg: rgba(250, 245, 233, .58);
    --gl-bg-strong: rgba(251, 247, 238, .80);
    --gl-bg-quiet: rgba(246, 239, 224, .50);
    --gl-hi: rgba(255, 255, 255, .85);
    --gl-shadow: 0 18px 40px rgba(34, 33, 30, .12), 0 2px 6px rgba(34, 33, 30, .05);
    --gl-sheen: linear-gradient(180deg, rgba(255, 255, 255, .30), rgba(255, 255, 255, 0) 38%);
  }

  html[data-glass="on"][data-theme="dark"] {
    --gl-bg: rgba(48, 47, 46, .60);
    --gl-bg-strong: rgba(48, 47, 46, .80);
    --gl-bg-quiet: rgba(48, 47, 46, .44);
    --gl-hi: rgba(255, 255, 255, .20);
    --gl-shadow: 0 18px 40px rgba(0, 0, 0, .42), 0 2px 6px rgba(0, 0, 0, .26);
    --gl-sheen: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 46%);
  }

  /* 纸面 + 纸纹 + 三团暖色光晕：给玻璃提供可折射的层次，正文仍在纸色上 */
  html[data-glass="on"] body {
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"),
      radial-gradient(64% 52% at 26% 30%, rgba(237, 200, 76, .30), rgba(237, 200, 76, 0) 66%),
      radial-gradient(48% 40% at 52% 48%, rgba(237, 200, 76, .20), rgba(237, 200, 76, 0) 68%),
      radial-gradient(54% 46% at 82% 62%, rgba(166, 83, 54, .19), rgba(166, 83, 54, 0) 68%),
      radial-gradient(58% 48% at 42% 94%, rgba(23, 97, 59, .13), rgba(23, 97, 59, 0) 70%);
    background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-attachment: fixed;
  }

  html[data-glass="on"][data-theme="dark"] body {
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"),
      radial-gradient(64% 52% at 26% 30%, rgba(237, 200, 76, .16), rgba(237, 200, 76, 0) 66%),
      radial-gradient(54% 46% at 82% 62%, rgba(166, 83, 54, .20), rgba(166, 83, 54, 0) 68%),
      radial-gradient(58% 48% at 42% 94%, rgba(23, 97, 59, .20), rgba(23, 97, 59, 0) 70%);
  }

  /* 共用表面：侧栏、栏目条、弹层、游戏 HUD 外壳 */
  html[data-glass="on"] :is(
    #sidebar, .nav, .site-header, .campus-topbar,
    .masthead, .site-bar,
    .auth-menu, .auth-toast, .auth-modal__card,
    .guide-bar, .scorebar, .toolbar,
    .game-hud__corner, .game-hud__edge
  ) {
    background-color: var(--gl-bg);
    background-image: var(--gl-sheen);
    box-shadow: inset 0 1px 0 var(--gl-hi), inset 0 0 0 1px rgba(255, 255, 255, .16), var(--gl-shadow);
    -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-sat));
    backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-sat));
  }

  /* 侧栏与登录卡更实，保证导航与表单在动态背景上仍清晰 */
  html[data-glass="on"] :is(#sidebar, .auth-modal__card) {
    background-color: var(--gl-bg-strong);
  }

  /* 后台路由不美化：保持原纸面侧栏 */
  html[data-glass="on"] body[data-route="admin"] #sidebar {
    background-color: var(--bg-0);
    background-image: none;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  /* 列表与卡片：只换表面材质，不改排版、圆角与间距 */
  html[data-glass="on"] :is(.gcard, .assessment-entry, .entry-section, .campus-module, .file-card, .gl) {
    background-color: var(--gl-bg-quiet);
    background-image: var(--gl-sheen);
    box-shadow: inset 0 1px 0 var(--gl-hi), inset 0 0 0 1px rgba(255, 255, 255, .14), 0 10px 26px rgba(34, 33, 30, .09);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    backdrop-filter: blur(12px) saturate(1.2);
  }
}

/* 高对比需求或系统要求降低透明度：整层退回不透明纸面 */
@media (prefers-contrast: more), (prefers-reduced-transparency: reduce) {
  html[data-glass="on"] :is(
    #sidebar, .nav, .site-header, .campus-topbar,
    .masthead, .site-bar,
    .auth-menu, .auth-toast, .auth-modal__card,
    .guide-bar, .scorebar, .toolbar,
    .game-hud__corner, .game-hud__edge,
    .gcard, .assessment-entry, .entry-section, .campus-module, .file-card, .gl
  ) {
    background-color: var(--panel);
    background-image: none;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
