/* LM_THEME_RING_V1: only the global theme chooser. */
:root { --lm-theme-ring-ready: 1; }
.lm-theme-ring-host { display: inline-flex !important; flex: 0 0 auto !important; gap: 0 !important; align-items: center !important; }
#lm-theme-ring-toggle {
  appearance: none; display: block; flex: 0 0 18.666667px; width: 18.666667px; height: 18.666667px;
  padding: 0; margin: 0; box-sizing: border-box; border: 2px solid #ffffffc0;
  border-radius: 50%; cursor: pointer;
  box-shadow: inset 0 1px 3px #ffffff60, 0 0 12px color-mix(in srgb,var(--accent,#00d4ff) 25%,transparent);
}
#lm-theme-ring-toggle:focus-visible { outline: 2px solid var(--accent,#00d4ff); outline-offset: 4px; }
#lm-theme-ring-panel {
  position: fixed; inset: auto; margin: 0; padding: 0; width: 128px; height: 128px;
  box-sizing: border-box; border-radius: 50%; overflow: visible;
  border: 1px solid color-mix(in srgb,var(--accent,#00d4ff) 48%,#283349);
  background: radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent,#00d4ff) 16%,transparent),transparent 70%),rgba(8,11,24,.97);
  box-shadow: 0 18px 46px #00000070,inset 0 1px 0 #ffffff18;
  backdrop-filter: blur(16px); color: #ecf4ff;
  font-family: 'Microsoft YaHei UI','PingFang SC',sans-serif;
}
#lm-theme-ring-panel::backdrop { background: transparent; }
#lm-theme-ring-panel::before {
  content: ''; position: absolute; inset: 16.6667%; border-radius: 50%;
  border: 1px solid color-mix(in srgb,var(--accent,#00d4ff) 28%,transparent); pointer-events: none;
}
#lm-theme-ring-panel .global-theme-dot {
  position: absolute !important; left: calc(50% + var(--ring-x)) !important;
  top: calc(50% + var(--ring-y)) !important; transform: translate(-50%,-50%) !important;
  display: block !important; width: 20px !important; height: 20px !important;
  margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
  border-radius: 50% !important; cursor: pointer;
  box-shadow: inset 0 2px 4px #ffffff40,0 3px 9px #00000050;
}
#lm-theme-ring-panel .global-theme-dot:hover,
#lm-theme-ring-panel .global-theme-dot:focus-visible {
  outline: 2px solid #ffffffb0; outline-offset: 4px;
}
#lm-theme-ring-panel .global-theme-dot.active { box-shadow: 0 0 0 3px #ffffff28,inset 0 2px 4px #ffffff50; }
#lm-theme-ring-panel .lm-theme-ring-caption {
  position: absolute; inset: 0; display: grid; place-content: center; gap: 5px;
  text-align: center; pointer-events: none; font-size: 11px; line-height: 1.4;
}
#lm-theme-ring-panel .lm-theme-ring-caption strong { font-size: 12px; font-weight: 600; }
#lm-theme-ring-panel .lm-theme-ring-caption span { color: #a5b3c9; }
