/*!
 * liquid-glass.css — BORING 官网第七版 · 液态玻璃（配 liquid-glass.js，在 site.css 之后、页面 CSS 之前引入）
 *
 * Ported from Liquid Glass Kit v0.1.0
 * https://github.com/noexgeci/liquid-glass-and-more-apple
 * Copyright (c) 2026 noexgeci — MIT License (full text: r7/THIRD-PARTY-NOTICES.md)
 * Not affiliated with or endorsed by Apple Inc.
 *
 * 取自 src/liquid-glass.css：@property --lg-glow / --lg-light-angle、弹簧曲线 --lg-ease-*、玻璃材质 token
 * （--lg-glass-shadow / --lg-glass-inner / 高光边 rim / --lg-lens-shadow）、§4 Materials 的 .lg-glass（背景磨砂 + 折射 + 着色 +
 * 按压光 + 高光边）、§5 Buttons 的 .lg-button（胶囊、按压鼓起与发光、--prominent / --clear）、
 * .lg-segmented-indicator（药丸 / 透镜两态）、Tab bar 透镜 .lg-tabbar-lens（用在导航 .nav__lens）。
 * 第八版第二步（流畅性，2026-10-13）：backdrop-filter 只保留在导航条一处——胶囊按钮、分段药丸、手机菜单、底部按钮条改为静态半透明底 + 高光边；
 *   导航透镜运动期间冻结折射（.is-gliding：无 backdrop-filter 的半透明药丸，到位后恢复玻璃），弹簧改为只过冲一次（--lg-ease-once，≤4px），速度拉伸减半。
 * BORING 适配：全部改暖色——白光改暖白（255 250 240）、冷灰改暖黑；字体用站内；按钮尺寸沿用站内 .btn（52 / 48 / 44px）；
 * 新增暗色着色变体 --ink（暖白卡上的主按钮）与 --clear-ink（暖白卡上的次按钮）；去掉蓝色强调色与彩色色散。
 */
@property --lg-glow{syntax:"<number>";inherits:false;initial-value:0}
@property --lg-light-angle{syntax:"<angle>";inherits:true;initial-value:135deg}
:root{
  --lg-light-angle:135deg;
  /* 阻尼弹簧，按 CSS linear() 采样（原版数值） */
  --lg-ease-bouncy:linear(0,.044,.156,.306,.471,.634,.781,.905,1.001,1.07,1.113,1.135,1.139,1.131,1.114,1.092,1.069,1.046,1.026,1.01,.997,.989,.983,.981,.981,.982,.985,.988,.991,.994,1);
  --lg-ease-spring:linear(0,.028,.097,.192,.299,.409,.515,.613,.7,.776,.839,.891,.932,.964,.987,1.004,1.015,1.022,1.026,1.027,1.026,1.024,1.022,1.019,1.016,1.013,1.011,1.008,1.006,1.004,1);
  --lg-ease-out:cubic-bezier(.22,1,.36,1);
  /* 只过冲一次的弹簧（近临界阻尼，峰值 1.6%：250px 行程 ≈ 4px），导航透镜用 */
  --lg-ease-once:linear(0,.09,.27,.48,.66,.8,.895,.955,.99,1.008,1.015,1.016,1.013,1.009,1.005,1.002,1.001,1);
  --lg-dur-bouncy:530ms;--lg-dur-spring:420ms;--lg-dur-smooth:450ms;--lg-dur-fast:180ms;
  /* 玻璃材质（原版 dark 一档，改暖） */
  --lg-glass-blur:10px;--lg-glass-blur-fallback:18px;--lg-glass-saturate:1.8;--lg-glass-brightness:1.06;
  --lg-glass-fill:rgb(30 26 22 / .42);
  --lg-glass-fill-clear:rgb(255 248 236 / .05);
  --lg-glass-rim-hi:rgb(255 250 240 / .42);--lg-glass-rim-lo:rgb(255 250 240 / .2);--lg-glass-rim-base:rgb(255 250 240 / .1);
  --lg-glass-shadow:0 0 0 .5px rgb(0 0 0 / .35),0 2px 6px -1px rgb(0 0 0 / .3),0 10px 28px -6px rgb(0 0 0 / .45);
  --lg-glass-inner:inset 1.5px 1.5px 1px -1px rgb(255 250 240 / .3),inset -1px -1px 1px -.5px rgb(255 250 240 / .12),inset 0 0 14px rgb(255 250 240 / .04);
  /* 透镜内光：只用内阴影（透镜在缩放中折射，外阴影会让 Chromium 的背景区域出瓦片瑕疵——原注释） */
  --lg-lens-shadow:inset 1.5px 1.5px 1px -1px rgb(255 250 240 / .95),inset -1px -1px 1px -.5px rgb(255 247 232 / .7),inset 0 0 8px rgb(255 246 228 / .3),inset 0 0 0 .5px rgb(0 0 0 / .18);
}

/* ══ 1 · 玻璃表面 .lg-glass（顶部导航）══
   背景：磨砂 + 折射（Chromium 下 SVG 位移贴图，其它引擎只磨砂）+ 提饱和 / 亮度；填充：暖黑着色；内光；::after 高光边随指针转。 */
.lg-glass{--_blur:var(--lg-glass-blur-fallback);--_fill:var(--lg-glass-fill);--_sat:var(--lg-glass-saturate);--_bright:var(--lg-glass-brightness);--lg-refract-blur:var(--lg-glass-blur);
  isolation:isolate;background-color:var(--_fill);
  -webkit-backdrop-filter:blur(var(--_blur)) saturate(var(--_sat)) brightness(var(--_bright));backdrop-filter:blur(var(--_blur)) saturate(var(--_sat)) brightness(var(--_bright));
  box-shadow:var(--lg-glass-shadow),var(--lg-glass-inner)}
.lg-glass.lg-refractive{--_blur:var(--lg-glass-blur);-webkit-backdrop-filter:var(--lg-refract);backdrop-filter:var(--lg-refract)}
.lg-glass::after,.lg-button::after,.mist-lightbox-close::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(var(--lg-light-angle),var(--lg-glass-rim-hi) 0%,transparent 28%,transparent 72%,var(--lg-glass-rim-lo) 100%),linear-gradient(var(--lg-glass-rim-base),var(--lg-glass-rim-base));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}

/* ══ 2 · 胶囊按钮 .lg-button ══ 尺寸、字体、箭头沿用站内 .btn；这里只管材质与按压。
   静止：玻璃；按下：鼓起 1.06、按压点发光、向手指倾斜几像素，只留内阴影（原版：变形中的折射元素不画外阴影）。 */
.lg-button,.mist-lightbox-close{--_blur:var(--lg-glass-blur-fallback);--_fill:var(--lg-glass-fill);--_fg:var(--paper);--_sat:var(--lg-glass-saturate);--_bright:var(--lg-glass-brightness);--lg-refract-blur:var(--lg-glass-blur);
  position:relative;isolation:isolate;border:0;color:var(--_fg);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;
  background-color:var(--_fill);
  background-image:radial-gradient(circle at var(--lg-px,50%) var(--lg-py,50%),rgb(255 252 244 / calc(var(--lg-glow) * .6)) 0,rgb(255 252 244 / calc(var(--lg-glow) * .2)) 45%,transparent 75%);
  /* 第八版：按钮不再 backdrop-filter / 折射（页面大底本身已是糊的，静态半透明底 + 高光边视觉一致） */
  box-shadow:var(--lg-glass-shadow),var(--lg-glass-inner);
  transition:--lg-glow var(--lg-dur-smooth) var(--lg-ease-out),transform var(--lg-dur-bouncy) var(--lg-ease-bouncy),background-color var(--lg-dur-fast) ease,color var(--lg-dur-fast) ease}
.lg-button>*{position:relative;z-index:1}
.lg-button.is-pressed,.lg-button:active,.mist-lightbox-close:active,.mist-lightbox-close.is-pressed{--lg-glow:1;box-shadow:var(--lg-glass-inner);transform:translate(var(--lg-dx,0px),var(--lg-dy,0px)) scale(var(--lg-press-scale,1.06));
  transition:--lg-glow 120ms ease-out,transform var(--lg-dur-spring) var(--lg-ease-spring),background-color var(--lg-dur-fast) ease,color var(--lg-dur-fast) ease}
/* 主按钮：暖白着色玻璃 + 深色字（原 btn--paper），一屏里最显眼 */
.lg-button--prominent{--_fill:rgb(236 230 218 / .96);--_fg:var(--ink);--_sat:1.3;--lg-glass-rim-hi:rgb(255 255 255 / .9);--lg-glass-rim-lo:rgb(255 255 255 / .45);--lg-glass-rim-base:rgb(255 255 255 / .3)}
/* 次按钮：透明玻璃 + 暖白字（原 btn--frame） */
.lg-button--clear,.mist-lightbox-close{--_fill:var(--lg-glass-fill-clear);--_sat:1.3;--_bright:1.02;--lg-refract-blur:.6px;--lg-glass-rim-base:rgb(255 250 240 / .22)}
/* 暖白卡上的主按钮：暖黑着色玻璃 + 暖白字（原 btn--solid） */
.lg-button--ink{--_fill:rgb(14 12 10 / .9);--_fg:var(--paper);--_sat:1.2;--lg-glass-rim-hi:rgb(255 250 240 / .34);--lg-glass-rim-lo:rgb(255 250 240 / .14)}
/* 暖白卡上的次按钮：几乎透明的暖黑玻璃 + 深色字（浅底上暖白字读不清，保对比） */
.lg-button--clear-ink{--_fill:rgb(14 12 10 / .05);--_fg:var(--ink);--_sat:1.1;--lg-refract-blur:.6px;
  --lg-glass-shadow:0 0 0 .5px rgb(14 12 10 / .3),0 2px 6px -2px rgb(14 12 10 / .2);--lg-glass-inner:inset 1.5px 1.5px 1px -1px rgb(255 255 255 / .9),inset -1px -1px 1px -.5px rgb(255 255 255 / .5),inset 0 0 0 1px rgb(14 12 10 / .22);
  --lg-glass-rim-hi:rgb(255 255 255 / .95);--lg-glass-rim-lo:rgb(255 255 255 / .6);--lg-glass-rim-base:rgb(255 255 255 / .35)}
@media (hover:hover){
  .lg-button:hover{--_fill:rgb(30 26 22 / .55)}
  .lg-button--prominent:hover{--_fill:rgb(244 239 229 / .97)}
  .lg-button--clear:hover{--_fill:rgb(255 248 236 / .1)}
  .lg-button--ink:hover{--_fill:rgb(0 0 0 / .94)}
  .lg-button--clear-ink:hover{--_fill:rgb(14 12 10 / .09)}
}

/* ══ 3 · 分段控件 .lg-segmented ══ 轨道沿用站内 .segs。药丸静止干净；按住 / 拖动成透镜 */
.lg-segmented{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.lg-segmented>button,.lg-segmented>a{-webkit-tap-highlight-color:transparent;-webkit-user-drag:none}
.lg-segmented-indicator{--_x:0px;--_y:0px;--_w:0px;--_h:0px;position:absolute;left:0;top:0;z-index:0;width:var(--_w);height:var(--_h);
  border-radius:var(--lgs-r,999px);background-color:var(--paper);pointer-events:none;
  --_shadow:0 3px 8px rgb(0 0 0 / .32),0 3px 1px rgb(0 0 0 / .1),0 0 0 .5px rgb(0 0 0 / .25),inset 0 1px 0 rgb(255 255 255 / .7);
  transform:translate(var(--_x),var(--_y)) scale(var(--_sx,1),var(--_sy,1));
  transition:transform var(--lg-dur-bouncy) var(--lg-ease-bouncy),width var(--lg-dur-bouncy) var(--lg-ease-bouncy),height var(--lg-dur-bouncy) var(--lg-ease-bouncy),background-color .2s ease}
.lg-segmented-indicator::before,.nav__lens::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--_shadow);pointer-events:none;transition:box-shadow .2s ease}
/* 透镜态的高光边，角度跟着指针 */
.lg-segmented-indicator::after,.nav__lens::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .2s ease;
  background:linear-gradient(var(--lg-light-angle),rgb(255 250 240 / .7) 0%,transparent 28%,transparent 72%,rgb(255 246 230 / .35) 100%),linear-gradient(rgb(255 248 236 / .12),rgb(255 248 236 / .12));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.lg-segmented.is-dragging .lg-segmented-indicator{z-index:2;transform:translate(var(--_x),var(--_y)) scale(var(--_sx,1.12),var(--_sy,1.3));
  background-color:rgb(255 248 236 / .1);--_shadow:var(--lg-lens-shadow)}   /* 第八版：拖动透镜不再折射 / backdrop-filter */
.lg-segmented.is-dragging .lg-segmented-indicator::after{opacity:1}
.lg-segmented.is-dragging .lg-segmented-indicator.is-moving{transition:transform 90ms linear,width var(--lg-dur-spring) var(--lg-ease-spring),background-color .2s}
/* 拖动时药丸变透明，字回到底色配色；透镜下最近的一项提亮 */
.segs.lg-segmented.is-dragging>button{color:var(--mute)}
.segs.lg-segmented.is-dragging>button.is-near{color:var(--paper)}
/* 暖白卡上的分段（.segs--paper）：浅一档暖灰凹槽，药丸暖黑 + 暖白字；拖动透镜同样透明折射 */
.segs--paper>.lg-segmented-indicator{background-color:var(--ink);--_shadow:0 2px 6px rgb(14 12 10 / .3),0 0 0 .5px rgb(14 12 10 / .4),inset 0 1px 0 rgb(255 250 240 / .14)}
.segs--paper.lg-segmented.is-dragging>.lg-segmented-indicator{background-color:rgb(255 255 255 / .1);--_shadow:inset 1.5px 1.5px 1px -1px rgb(255 255 255 / .95),inset -1px -1px 1px -.5px rgb(255 255 255 / .7),inset 0 0 0 1px rgb(14 12 10 / .28),inset 0 0 8px rgb(255 255 255 / .35)}
.segs.segs--paper.lg-segmented.is-dragging>button{color:var(--mute-p)}
.segs.segs--paper.lg-segmented.is-dragging>button.is-near{color:var(--ink)}

/* ══ 4 · 顶部导航的当前页透镜（.nav__lens，来自 Tab bar 透镜）══
   静止：当前页下面一颗暖白药丸、深色字；悬停 / 聚焦 / 按住拖：变成透明折射透镜滑到该项（弹簧 + 拉伸），离开滑回当前页再变回药丸。 */
.nav__list{position:relative}
.nav__list>li{position:relative;z-index:1}
.nav__lens{position:absolute;left:0;top:0;z-index:0;width:var(--_w,0px);height:var(--_h,0px);border-radius:999px;background-color:var(--paper);pointer-events:none;will-change:transform;
  --_shadow:0 2px 8px rgb(0 0 0 / .3),inset 0 1px 0 rgb(255 255 255 / .7);
  transform:translate(var(--_x,0px),var(--_y,0px)) scale(var(--_sx,1),var(--_sy,1));
  transition:transform var(--lg-dur-spring) var(--lg-ease-once),width var(--lg-dur-spring) var(--lg-ease-once),background-color .2s ease}
.nav.is-lensing .nav__lens{z-index:2;background-color:rgb(255 248 236 / .07);-webkit-backdrop-filter:blur(1px) saturate(1.4) brightness(1.08);backdrop-filter:blur(1px) saturate(1.4) brightness(1.08);--_shadow:var(--lg-lens-shadow)}
.nav.is-lensing .nav__lens::after{opacity:1}
.nav.is-lensing .nav__lens.lg-refractive{-webkit-backdrop-filter:var(--lg-refract);backdrop-filter:var(--lg-refract)}
/* 运动期间冻结折射：飞行 / 拖动中只有 transform 在变，无 backdrop-filter，半透明药丸 + 高光边；到位（transitionend）后再恢复玻璃 */
.nav.is-lensing .nav__lens.is-gliding,.nav.is-lensing .nav__lens.is-moving{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:rgb(255 248 236 / .12)}
.nav.is-dragging .nav__lens{transform:translate(var(--_x,0px),var(--_y,0px)) scale(var(--_sx,1.04),var(--_sy,1.09))}
.nav.is-dragging .nav__lens.is-moving{transition:transform 90ms linear,width var(--lg-dur-spring) var(--lg-ease-once)}
.nav.has-lens .nav__list a[aria-current]{background:none;color:var(--ink);text-shadow:none}
.nav.has-lens.is-lensing .nav__list a[aria-current]{color:var(--paper);font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.nav.has-lens .nav__list a.is-near{color:#fff}
@media (hover:hover){.nav.has-lens .nav__list a[href]:hover{background:none}}
.nav.has-lens .nav__list a{cursor:pointer}
@media (max-width:760px){.nav__lens{display:none}.nav.has-lens .nav__list a[aria-current]{background:var(--paper);color:var(--ink)}}

/* ══ 5 · 减少动态：无透镜、无鼓起与发光动画，保留材质；药丸直接到位 ══ */
html.motion-reduce .lg-segmented-indicator,html.motion-reduce .nav__lens{transition:none;will-change:auto}
html.motion-reduce .lg-segmented.is-dragging .lg-segmented-indicator{z-index:0;transform:translate(var(--_x),var(--_y));background-color:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;--_shadow:0 3px 8px rgb(0 0 0 / .32)}
html.motion-reduce .segs--paper.lg-segmented.is-dragging>.lg-segmented-indicator{background-color:var(--ink)}
html.motion-reduce .lg-segmented.is-dragging .lg-segmented-indicator::after{opacity:0}
html.motion-reduce .segs.lg-segmented.is-dragging>button.is-near{color:var(--ink)}
html.motion-reduce .segs.segs--paper.lg-segmented.is-dragging>button.is-near{color:var(--paper)}
html.motion-reduce .lg-button,html.motion-reduce .lg-button.is-pressed,html.motion-reduce .lg-button:active{transform:none;transition:background-color var(--lg-dur-fast) ease,color var(--lg-dur-fast) ease;--lg-glow:0}

@media (forced-colors:active){
  .lg-segmented-indicator,.nav__lens{forced-color-adjust:none;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;outline:2px solid Highlight;outline-offset:-2px}
  .lg-glass,.lg-button{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;outline:1px solid ButtonText;outline-offset:-1px}
  .lg-glass::after,.lg-button::after{display:none}
}
