.study-effects-settings { position: relative; font-size: 16px; color: var(--ink, #253a35); }
.study-effects-settings summary { cursor: pointer; padding: 8px 12px; border-radius: 12px; background: var(--card, #fff); white-space: nowrap; }
.study-effects-panel { position: absolute; right: 0; top: calc(100% + 10px); z-index: 10001; width: min(310px, calc(100vw - 40px)); padding: 20px; background: var(--card, #fff); border: 2px solid var(--line, #dbe6de); border-radius: 18px; box-shadow: 0 12px 35px #183b3226; }
.study-effects-panel label { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-weight: 700; }
.study-effects-panel select { width: 100%; margin-top: 8px; padding: 9px; font: inherit; border-radius: 10px; }
.study-effects-panel .study-motion-label { display: block; }
.study-effects-panel input { width: 20px; height: 20px; }
.study-effects-panel p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--muted, #53675e); }
@media (max-width: 600px) {
  .account { flex-wrap: wrap; }
  .account-profile, .study-effects-settings { flex-shrink: 0; }
  .study-effects-panel { position: fixed; top: 64px; left: 16px; right: 16px; width: auto; max-height: calc(100dvh - 80px); overflow-y: auto; }
}
.study-confetti { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10000; }
html[data-study-motion="gentle"], html[data-study-motion="off"] { scroll-behavior: auto !important; }
html[data-study-motion="gentle"] *, html[data-study-motion="gentle"] *::before, html[data-study-motion="gentle"] *::after,
html[data-study-motion="off"] *, html[data-study-motion="off"] *::before, html[data-study-motion="off"] *::after {
  animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important;
}
@media print { .study-effects-settings, .study-confetti { display: none !important; } }
/* 偏好脚本失效时，系统的减少动态效果仍然生效。 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
