/* The sliding puzzle logo: a warm white page, a tray of thin tiles that slide one at a time until the name reads,
   and one coloured square: the missing piece. */
:root {
  --ground: #f3f0e8;        /* the page */
  --tile: #f8f6f0;          /* the face of a tile */
  --ink: #141414;           /* the letters, the frame and the tile edges */
  --accent: #e2462b;        /* the missing piece */
  --hint: #9b968b;          /* the replay button */
  --screen: 100vh;
}
@supports (height: 100lvh) {
  :root { --screen: 100lvh; }
}

* { box-sizing: border-box; }
html,
body {
  margin: 0;
  height: 100%;
}
body {
  background: var(--ground);
  overflow: hidden;
}

.scena {
  position: relative;
  height: var(--screen);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.palco {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  font-family: 'Bricolage Grotesque Variable', 'Helvetica Neue', Arial, sans-serif;
}

.cornice {
  fill: none;
  stroke: var(--ink);
  stroke-width: 1;
}
.faccia {
  fill: var(--tile);
  stroke: var(--ink);
  stroke-width: 1;
}
.lettera {
  fill: var(--ink);
  text-anchor: middle;
}
.tassello { fill: var(--accent); }

/* the replay button: small, quiet, it shows up when the logo is done */
.ancora {
  position: absolute;
  left: 50%;
  bottom: max(20px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  padding: 8px 14px;
  border: 0;
  background: none;
  font-family: 'Bricolage Grotesque Variable', 'Helvetica Neue', Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--hint);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: color 0.2s;
}
@media (hover: hover) {
  .ancora:hover { color: var(--ink); }
}
.ancora:focus-visible {
  outline: 1px solid var(--ink);
  outline-offset: 2px;
}
