/* Localized specular light: never used behind paragraphs, fields or warnings. */
:is(.tab,.primary,.secondary,.lang-button){position:relative;isolation:isolate;overflow:hidden}
:is(.tab,.primary,.secondary,.lang-button)::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(ellipse 140px 95px at var(--light-x,50%) var(--light-y,0%),#ffffff55,transparent 80%);
  opacity:0;transition:opacity .22s ease;mix-blend-mode:soft-light;
}
:is(.tab,.primary,.secondary,.lang-button)[data-lit]::after{opacity:1}
.subscription-card[data-lit]::after{
  inset:0;transform:none;opacity:1;transition:opacity .22s ease;
  background:radial-gradient(ellipse 220px 150px at var(--light-x,50%) var(--light-y,0%),#ffffff30,transparent 80%),
    linear-gradient(115deg,transparent 25%,#ffffff09 50%,transparent 75%);
  mix-blend-mode:soft-light;
}
[data-theme=ice-blue-glass] :is(.tab,.primary,.secondary,.lang-button):focus-visible{
  outline:2px solid var(--accent-strong);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce),(prefers-contrast:more),(hover:none),(pointer:coarse){
  :is(.tab,.primary,.secondary,.lang-button,.subscription-card)[data-lit]::after{display:none}
}

/* One continuous highlight follows the workspace rim without covering content. */
@property --rim-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.workspace { position: relative; isolation: isolate; }
.workspace::after {
  content: ''; position: absolute; inset: -1px; z-index: 3;
  border-radius: inherit; padding: 2px; pointer-events: none;
  background: conic-gradient(from var(--rim-angle), transparent 0deg 210deg,
    color-mix(in srgb, var(--accent) 35%, transparent) 250deg,
    var(--accent) 285deg, var(--panel) 305deg,
    color-mix(in srgb, var(--accent) 60%, transparent) 325deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  animation: workspace-rim 9s linear infinite;
}
@keyframes workspace-rim { to { --rim-angle: 360deg; } }
.language-control { display: inline-flex; min-width: 0; max-width: 100%; }
.language-control select.lang-button {
  font: inherit; font-size: 13px; min-height: 44px; max-width: 210px;
  color: var(--text); cursor: pointer; padding-inline: 12px 8px;
}
.language-control select:focus-visible { outline: 2px solid var(--accent-strong); outline-offset: 3px; }
html:lang(zh-CN), html:lang(zh-CN) body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
html:lang(zh-CN) .site-intro h1 { letter-spacing: -.025em; line-height: 1.35; }
@media (max-width: 400px) {
  .header-inner { gap: 8px; flex-wrap: wrap; }
  .header-actions { margin-inline-start: auto; }
  .language-control select.lang-button { max-width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace::after { animation: none; --rim-angle: 120deg; }
}
@media (prefers-contrast: more), (forced-colors: active) {
  .workspace::after { display: none; }
  .workspace { outline: 1px solid var(--text); }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

