body.autoreload.preview::before {
  content: " ";
  z-index: 2000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20000px;
  opacity: 0;
  pointer-events: none;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite; }

.todo {
  animation: blinker 1s linear infinite; }

.scss-error {
  position: fixed;
  font-family: monospace;
  font-size: 12px;
  line-height: 1.4;
  top: 10px;
  right: 10px;
  width: 1000px;
  overflow-y: auto;
  padding: 16px;
  margin: 0;
  max-width: 80%;
  max-height: 80%;
  color: black;
  background: white;
  box-shadow: 0 0px 0px 1px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 8px rgba(0, 0, 0, 0.05), 0 8px 16px rgba(0, 0, 0, 0.05), 0 16px 32px rgba(0, 0, 0, 0.05), 0 32px 64px rgba(0, 0, 0, 0.05); }

@keyframes pulsate {
  0% {
    opacity: 0.1; }
  10% {
    opacity: 0.1; }
  20% {
    opacity: 0.1; }
  30% {
    opacity: 0.1; }
  40% {
    opacity: 0.9; }
  50% {
    opacity: 1; }
  60% {
    opacity: 0.9; }
  70% {
    opacity: 0.1; }
  80% {
    opacity: 0.1; }
  90% {
    opacity: 0.1; }
  100% {
    opacity: 0.1; } }

@keyframes blinker {
  0% {
    outline: none; }
  50% {
    outline: none; }
  50.01% {
    outline: #ff1000 dashed 3px; }
  100% {
    outline: #ff1000 dashed 3px; } }

body.autoreload.preview::before {
  animation-name: pulsate;
  background-size: 320px auto;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: var(--preview-small-image); }

@media (min-width: 640px) {
  body.autoreload.preview::before {
    background-size: 780px auto;
    background-image: var(--preview-medium-image); } }

@media (min-width: 1200px) {
  body.autoreload.preview::before {
    background-size: 1600px auto;
    background-image: var(--preview-large-image); } }
