@page { size: A4; margin: 0.6cm; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.25;
  color: #222;
}
@media screen {
  body { zoom: 2; }
}
@media print {
  body { zoom: 1; }
}
.title {
  font-size: 16pt;
  text-align: center;
  margin-bottom: 0.2em;
  letter-spacing: 0.5pt;
}
h2 {
  font-size: 12pt;
  margin-top: 0.1em;
  margin-bottom: 0.05em;
  border-top: 1px solid #ccc;
  padding-bottom: 0;
  page-break-after: avoid;
}
h3 {
  font-size: 10pt;
  margin-top: 0.15em;
  margin-bottom: 0.05em;
  font-weight: bold;
  page-break-after: avoid;
}
.variant {
  margin-bottom: 0.25em;
  page-break-inside: avoid;
}
.variant .label {
  font-size: 9pt;
  margin-bottom: 0.1em;
  color: #444;
}
.seq-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0.05em;
}
.move-step {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.seq-row img.cube {
  height: 124px;
  width: auto;
}
.seq-row img.transition {
  height: 50px;
  width: auto;
  margin: 0;
}
img.transition + img.transition {
  margin-left: 5px;
}
.notation {
  margin-bottom: 0.3em;
  white-space: nowrap;
}
.notation-img {
  display: inline-block;
  height: 180px;
  width: auto;
  margin-right: 0;
}
.page-break {
  page-break-before: always;
  height: 0;
}
.recap-title {
  border-top: 2px solid #888;
  margin-top: 0;
  font-size: 14pt;
  letter-spacing: 0.5pt;
}
