anchor.diff:    - see if Google Play books supports JavaScript and epubReadingSystem (no, but adds its own class to body)
   * CRITICAL: use a following sibling selector for :first-line in abstract so it works when page is partitioned (e.g., in Google Play Books)
   * CRITICAL: add support for different numbering systems (lowergreek, etc)
  +* CRITICAL: surround prose in <span> (e.g., simple <dd>) which is not nested in <p> or <div> so iBooks can change the font
   * HIGH: kindlegen no longer strips <header> elements, so we can drop our div wrapper hack
   * HIGH: don't set text color so light on monochrome devices (use media query to detect)
   * HIGH: make justify-text a class on body that can be controlled from AsciiDoc attribute (don't use word joiner in this case)
  
positive.code: * customize id of <item> elements in epub manifest?
  
  //^
  
  .CLI
  * augment Asciidoctor::Cli::Options with --validate and --extract options, pass on as attributes
  
  //^
  
  .Asciidoctor
  * patch sanitize of any section or block title into Asciidoctor
  * generate id for chapter <= make part of Asciidoctor parsing API
  * patch Asciidoctor to replace smart quotes w/ unicode chars instead of entities (glyph replacement mode)
  
  //^
  
  == REVIEW
  
  * conversion of single file (no master document)
  
negative.code: * Control+Shift+u to type in a unicode sequent, then press enter to accept
  * Calibre gets confused when there are local fonts that closely match font in stylesheet, uses them over embedded styles (in particular M+ weights)
  * iBooks info: http://authoradventures.blogspot.com/2013/08/ibooks-tutorial-update-version-30.html
  * use the following media query to target non-Kindle devices (works in iBooks at least)
  
   @media not amzn-kf8 {
     @media not amzn-mobi {
     }
   }
  
  * selector for all prose text (including symbols)
  
   body p, ul, ol, li, dl, dt, dd, figcaption, caption, footer,
  