/* The doors into the puzzle book (sign in, claim, get the book). Same paper and ink
   as the printed book, which keeps one look in every theme, so every colour is set here. */
:root{
  --desk:#E9E2D5; --paper:#FFFDF8; --ink:#231B16; --muted:#6E6258; --rule:#E6DCCB;
  --teal:#157F75; --teal-soft:#D5EEEA; --gold-soft:#F5EAD0; --good:#2E7D4F; --bad:#B4483F; --gilt:#C79A2E;
  --display:'Playfair Display',Georgia,'Times New Roman',serif;
  --voice:'Crimson Text',Georgia,serif;
  --ui:'Poppins',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color-scheme:light;
  --white:#fff;
}
.door,.door *{box-sizing:border-box}
.door{display:flex;justify-content:center;padding:24px 0 48px}
.door-card{width:100%;max-width:520px;background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:28px clamp(18px,5vw,40px) 26px;box-shadow:0 18px 40px -26px rgba(35,27,22,.45);color:var(--ink);font-family:var(--ui)}
.door-mark{text-align:center;margin-bottom:10px}
.door-mark img{width:44px;height:44px;border-radius:10px}
.door-eyebrow{display:block;text-align:center;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.door-card h1{font-family:var(--display);font-weight:600;font-size:clamp(26px,5vw,32px);line-height:1.15;text-align:center;margin:0 0 12px}
.door-lead{font-family:var(--voice);font-size:19px;line-height:1.5;margin:0 0 18px;text-align:center}
.door-card label{display:block;font-size:14px;font-weight:500;margin:12px 0 6px}
.door-card input{width:100%;font:inherit;font-size:17px;padding:11px 14px;border:1.5px solid var(--rule);border-radius:10px;background:var(--white);color:var(--ink)}
.door-card input:focus{outline:3px solid var(--teal-soft);border-color:var(--teal)}
#dClaim{letter-spacing:.12em;text-transform:uppercase;text-align:center;font-size:20px}
.door-btn{display:block;width:100%;margin-top:12px;padding:12px 18px;border-radius:999px;border:2px solid var(--teal);background:var(--teal);color:var(--white);font:inherit;font-weight:600;font-size:16px;text-align:center;text-decoration:none;cursor:pointer}
.door-btn.ghost{background:var(--white);color:var(--teal)}
.door-btn:disabled{opacity:.6;cursor:wait}
.door-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.door-two .door-btn{margin-top:0}
@media (max-width:420px){.door-two{grid-template-columns:1fr}}
.door-msg{min-height:1.2em;margin:10px 0 0;font-size:15px;text-align:center}
.door-msg.good{color:var(--good)} .door-msg.bad{color:var(--bad)}
.door-mini{font-size:14px;color:var(--muted);text-align:center;margin:16px 0 0}
.door-card a:not(.door-btn){color:var(--teal)}
.door-cr{font-size:11.5px;line-height:1.4;color:var(--muted);text-align:center;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--rule)}
