/* ------------------------------------------------------------------ */
/* The welcome page: where a first visit starts (welcome.js)           */
/* ------------------------------------------------------------------ */

.welcome {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px var(--gutter);
  text-align: center;
  animation: w-in 0.9s var(--ease) both;
}

/* one tile, like the icon in the tab */
.w-mark { --tw: 46px; margin-bottom: 20px; }

/* the book's cover name */
.w-name {
  margin-bottom: clamp(40px, 8vh, 72px);
  font-size: clamp(17px, 1.9vw, 21px);
  font-weight: 380;
  letter-spacing: 0.02em;
  color: var(--ink-2);
}

/* the two ways in (they fade in again whenever they come back) */
.w-choices {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  animation: w-in 0.45s var(--ease) both;
}
.w-choice {
  display: grid;
  justify-items: center;
  gap: 10px;
  width: 280px; /* side by side, or one above the other on a phone */
  max-width: 100%;
  padding: 28px 26px 25px;
  border: 1px solid var(--line-2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.28);
  color: var(--ink);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.3s var(--ease), background 0.3s var(--ease), border-color 0.3s var(--ease);
}
.w-choice:hover { border-color: var(--ink-3); background: rgba(255, 255, 255, 0.62); transform: translateY(-2px); }
.w-choice:active { transform: scale(0.98); }
.w-choice:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.w-say {
  font-size: clamp(22px, 2.3vw, 25px);
  line-height: 1.15;
  font-weight: 340;
  letter-spacing: -0.005em;
  font-variation-settings: "SOFT" 100, "WONK" 0;
}

/* signing in: a name, and on to the table */
.w-sign {
  display: grid;
  justify-items: center;
  gap: 12px;
  animation: w-in 0.45s var(--ease) both;
}
.w-row { display: flex; gap: 8px; }
.w-sign input {
  width: min(250px, 58vw);
  padding: 12px 18px 13px;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  font: 400 19px/1.2 var(--serif);
  color: var(--ink);
  text-align: center;
}
.w-sign input:focus { outline: none; border-color: var(--ink-3); background: rgba(255, 255, 255, 0.78); }
/* the table's own button (its "deal again") */
.w-go {
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: var(--paper);
  font: 500 11px/1 var(--sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.3s var(--ease);
}
.w-go:disabled { opacity: 0.3; cursor: default; }
.w-go:focus-visible, .w-back:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.w-back {
  padding: 4px 10px;
  border: 0;
  background: none;
  font-size: 15px;
  font-style: italic;
  color: var(--ink-3);
  cursor: pointer;
}
.w-back:hover { color: var(--ink); }

@keyframes w-in {
  from { opacity: 0; translate: 0 4px; filter: blur(2px); }
}
