/* The Sign up page (web/signup.php, cards #426 and #489): Larry's design C "without the box". On a computer, two
   halves: the night-blue panel (the book and flame with no tile, the gold name, "Why make an account?" and his three
   lines) and the form. On a phone the panel sits on top. The form's fields and button are app.css's own. */
:root {
  --su-navy-1: #26306f;      /* the panel: the logo's night blue, the same in both themes */
  --su-navy-2: #161d4c;
  --su-gold-1: #f6dc96;      /* the name's gold, as the logo's */
  --su-gold-2: #d9a641;
  --su-why: #f1dfae;
  --su-line: #e6eaff;
  --su-num-bg: rgba(246,220,150,.16);
  --su-glow-1: rgba(255,205,110,.42);   /* the flame's light behind the lamp */
  --su-glow-2: rgba(255,190,90,.12);
}
.su-page { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; min-height: 100dvh; }

.su-panel {
  background: linear-gradient(160deg, var(--su-navy-1), var(--su-navy-2)); color: #fff;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: 3rem clamp(1.5rem, 6vw, 5rem); position: relative; overflow: hidden;
}
.su-lamp { position: relative; }
/* The flame's light: brighter and larger as the flame burns higher, swaying with it (--flame, --sway: signup.js). */
.su-lamp::before {
  content: ""; position: absolute; left: 50%; top: 22%; width: 340px; height: 340px; margin: -170px 0 0 -170px;
  border-radius: 50%; background: radial-gradient(circle, var(--su-glow-1), var(--su-glow-2) 40%, transparent 68%);
  opacity: calc(.55 + .45 * var(--flame, .7));
  transform: translateX(calc(var(--sway, 0) * 6px)) scale(calc(.95 + .09 * var(--flame, .7))); pointer-events: none;
}
.su-logo { display: block; position: relative; width: auto; height: 170px; border-radius: 0; }
.su-panel h1 {
  margin: 1.6rem 0 1.4rem; font-size: 2.5rem; font-weight: 700; position: relative;
  background: linear-gradient(180deg, var(--su-gold-1), var(--su-gold-2)); -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.su-why { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 600; color: var(--su-why); }
.su-gets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; }
.su-gets li { display: flex; gap: .8rem; align-items: flex-start; color: var(--su-line); line-height: 1.45; }
.su-num {
  flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--su-num-bg); color: var(--su-gold-1);
  display: grid; place-items: center; font-size: .9rem; font-weight: 700;
}

.su-side { display: flex; justify-content: center; align-items: center; padding: 3rem 1.5rem; }
.su-inner { width: min(24rem, 100%); }
.su-inner h2 { margin: 0 0 .3rem; font-size: 1.6rem; }
.su-sub { margin: 0 0 1.2rem; color: var(--muted); }
.su-form .hint { font-size: .82rem; color: var(--muted); }
.su-form button.primary { width: 100%; }
.su-claim { margin: 1.5rem 0 0; padding: .9rem 1rem; border: 1px dashed var(--field-edge); border-radius: var(--radius);
  font-size: .95rem; text-align: center; line-height: 1.5; }
.su-foot { margin: 1rem 0 0; font-size: .92rem; color: var(--muted); text-align: center; }
.nowrap { white-space: nowrap; }
/* The field only a bot fills in: off the screen, out of the tab order, hidden from screen readers. */
.su-trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 760px) {
  .su-page { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .su-panel { padding: 2.2rem 16px 2rem; align-items: center; text-align: center; }
  .su-lamp::before { width: 260px; height: 260px; margin: -130px 0 0 -130px; }
  .su-logo { height: 120px; }
  .su-panel h1 { font-size: 2rem; margin: 1.1rem 0 1rem; }
  .su-why { font-size: 1.05rem; margin-bottom: .7rem; }
  .su-gets { gap: .6rem; text-align: left; }
  .su-gets li { font-size: .95rem; }
  .su-num { width: 24px; height: 24px; font-size: .8rem; }
  .su-side { padding: 1.6rem 16px 2.4rem; align-items: flex-start; }
}
