/* Layout & basic typography */
body {
  margin: 0;
  font-family: system-ui, Arial, sans-serif;
  background: #fafafa;
  color: #222;
  display: flex;
  flex-direction: column;
  height: 100vh;
}

/* Header */
header {
  padding: .8rem 1rem;
  background: #0066cc;
  color: white;
  text-align: center;
  font-size: 1.2rem;
}

/* Status line – sits just below the header */
#status {
  padding: .4rem 1rem;
  background: #e0e0e0;
  color: #333;
  font-size: .9rem;
  text-align: center;
}

/* Grid of characters */
#grid {
  flex: 1;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: .5rem;
  padding: .5rem;
}

/* Individual cell */
.cell {
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: .4rem;
  text-align: center;
  font-size: .9rem;
  line-height: 1.2;
  word-break: break-all;
}

/* Glyph itself – larger */
.glyph {
  font-size: 2rem;
  margin-bottom: .2rem;
}

/* Footer */
footer {
  padding: .5rem 1rem;
  background: #eee;
  text-align: center;
  font-size: .85rem;
}
  /* -------------------------- Weird Footer ----------------------*/
   :root {
      --lightness: 50%;
      --code-background: #ddd;
  }
   footer {
          position: absolute;
          left:20%;
          bottom:0;
          background: #FFF;
          text-align: center;
          clear: both;
          display: block;
          padding:10px;
          border: 2px dashed red;
          z-index: 20;
      }
  footer a:hover {
      display: inline-block;
      animation: 0.2s infinite alternate linear wiggle;

      background: linear-gradient(in hsl longer hue 45deg, hsl(0deg, 75%, var(--lightness)) 10%, hsl(0deg, 75%, var(--lightness)) 90%);
      background-clip: text;
      color: transparent;
  }
      @keyframes wiggle {
          from {
              transform: skewX(-8deg);
          }
          to {
              transform: skewX(8deg);
          }
      }