
  .cw-flavor    { font-size: 1.6rem; }      
  .cw-note      { font-size: 1.2rem; }    
  .cw-extract   { font-size: 1.5rem; }      
  .clues h3     { font-size: 1.5rem; }    
  .clues .clue  { font-size: 1.3rem; }      
  .crossword input  { font-size: 16px; }  
  .crossword .number { font-size: 8px; }  
  

  .cw-wrap { text-align: center; }
  .cw-link { font-weight: 700; }
  .cw-flavor { font-style: italic; margin-top: 1rem; }
  .cw-note { margin-top: 0.5rem; }
  .cw-rule { width: 60%; margin: 16px auto; border: none; border-top: 1px solid #000; }

  .crossword table { border-collapse: collapse; margin: 0 auto; }
  .crossword td {
    width: 30px !important; height: 30px !important; min-width: 30px;
    padding: 0 !important; border: 1px solid #000;
    position: relative; box-sizing: border-box;
    line-height: 1 !important; vertical-align: middle;
  }
  .crossword .black { background-color: #000; }
  .crossword input {
    width: 100%; height: 100%; text-align: center;
    border: none; background: transparent;
    padding: 0 !important; margin: 0 !important;
    font-family: inherit;
    box-sizing: border-box; line-height: 1;
  }
  .crossword .number {
    position: absolute; top: 1px; left: 2px;
    color: #000;
  }
  .crossword td.bar-t { border-top-width: 3px; }
  .crossword td.bar-b { border-bottom-width: 3px; }
  .crossword td.bar-l { border-left-width: 3px; }
  .crossword td.bar-r { border-right-width: 3px; }

  .cw-extract { text-align: center; line-height: 1.6; margin: 1rem 0; }

  .clues {
    column-count: 2; column-gap: 50px; column-rule: 1px solid #000;
    max-width: 760px; margin: 1.3rem auto;
  }
  .clues .clue { break-inside: avoid; margin: 3px 0; }
  .clues h3 { text-align: center; }
  .mz-word { display: inline-block; transition: transform 0.15s ease; transform-origin: left center; font-size: calc(1em + 1pt); }
  .mz-on .mz-word:hover { transform: scale(1.4); font-weight: 700; }
