*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,sans-serif;background:#10111a;color:#f8f0e5}.screen{display:none}.screen.active{display:block}.app-shell{min-height:100svh}.hero{position:relative;min-height:100svh;overflow:hidden;display:none;align-items:flex-end;padding:20px}.hero.active{display:flex}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.03) contrast(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,20,.12),rgba(12,12,20,.78) 52%,#10111a 100%)}.hero-card{position:relative;width:100%;max-width:680px;margin:0 auto 8px;padding:26px 22px;border:1px solid rgba(255,255,255,.18);border-radius:30px;background:rgba(17,17,28,.72);backdrop-filter:blur(14px);box-shadow:0 18px 55px rgba(0,0,0,.45)}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#f3c777;font-weight:800}.kicker.dark{color:#a77528}.hero h1{font-size:clamp(38px,12vw,72px);line-height:.9;margin:10px 0 18px;letter-spacing:-.06em}.welcomeText{font-size:15px;line-height:1.6;color:#fff4df}.welcomeText p{margin:0 0 12px}.main{padding:16px;max-width:840px;margin:0 auto}.topbar{position:sticky;top:0;z-index:10;margin:-16px -16px 14px;padding:14px 16px;background:rgba(246,238,225,.94);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;color:#1b1721;border-bottom:1px solid rgba(0,0,0,.06)}h2{margin:2px 0 0;font-size:24px;letter-spacing:-.04em}h3{margin:0 0 8px;font-size:21px;letter-spacing:-.03em}.card{background:#f7efe4;color:#201b24;border-radius:26px;padding:18px;margin:0 0 16px;border:1px solid rgba(120,82,33,.16);box-shadow:0 14px 45px rgba(0,0,0,.18)}.sectionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.pill{font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;background:#1f1b2a;color:#f7dca2;white-space:nowrap}.small{font-size:13px;color:#685f65;line-height:1.45}.identify.success{outline:2px solid #338f65}.primary,.ghost{border:0;border-radius:999px;padding:13px 18px;font:800 14px Montserrat;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:linear-gradient(135deg,#f2c15f,#d98f2f);color:#211409;box-shadow:0 10px 22px rgba(157,90,20,.28)}.primary:disabled{opacity:.45;cursor:not-allowed}.primary.big{width:100%;font-size:16px;padding:16px 20px;margin-top:10px}.ghost{background:rgba(32,27,36,.08);color:#2b2430}.ghost.full{width:100%;margin-top:14px}select,input{width:100%;border:1px solid rgba(42,35,45,.16);background:#fffaf2;color:#1f1b2a;border-radius:16px;padding:14px 13px;font:600 15px Montserrat;outline:none}select:focus,input:focus{border-color:#d18b2b;box-shadow:0 0 0 4px rgba(209,139,43,.13)}.challenge{padding:14px 14px;border-radius:18px;background:#fff9ed;border:1px solid rgba(209,139,43,.2);margin-bottom:10px;line-height:1.35}.challenge b{color:#a36317}.peopleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.person{background:#fffaf2;border:1px solid rgba(42,35,45,.10);border-radius:22px;padding:12px;text-align:center;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 8px 22px rgba(65,42,19,.08)}.avatar{width:112px;height:112px;border-radius:28px;object-fit:cover;object-position:center;display:block;margin-bottom:10px;background:#ead8c1;border:3px solid #f1d59a;box-shadow:0 8px 16px rgba(0,0,0,.14)}.personName{font-weight:800;font-size:13px;line-height:1.18;color:#1d1721}.alias{margin-top:5px;font-size:11px;font-weight:800;color:#9b631e;text-transform:uppercase;line-height:1.2}.answerRow{margin-bottom:13px}.answerRow label{display:block;font-size:13px;line-height:1.35;margin-bottom:7px;font-weight:800;color:#4b3d45}.notice{padding:13px;border-radius:16px;margin-top:12px;font-size:14px;line-height:1.4}.notice.hidden{display:none}.successMsg{background:#e9f8ed;color:#145b31}.errorMsg{background:#ffe9e9;color:#8d1d1d}.warnMsg{background:#fff2d7;color:#8d5611}@media (min-width:620px){.peopleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar{width:128px;height:128px}.person{min-height:210px}.hero{align-items:center}.hero-card{margin:auto}}
.welcome-clean{
background:#f5f1ea;
min-height:100vh;
display:flex;
justify-content:center;
padding:24px 16px 40px;
}
.welcome-wrap{
width:100%;
max-width:680px;
display:flex;
flex-direction:column;
gap:24px;
}
.welcome-image-card{
background:#fff;
border:2px solid #d8c3a0;
border-radius:26px;
padding:14px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.welcome-image{
width:100%;
display:block;
border-radius:18px;
}
.welcomeText.clean{
background:#fff;
border-radius:24px;
padding:28px;
box-shadow:0 10px 30px rgba(0,0,0,.05);
font-size:1.12rem;
line-height:1.7;
color:#1b1b1b;
}
.welcomeText.clean p{
margin:0 0 22px;
}
@media(max-width:768px){
.welcome-clean{
padding:12px 10px 32px;
}
.welcome-image-card{
padding:10px;
border-radius:22px;
}
.welcomeText.clean{
padding:22px;
font-size:1.02rem;
line-height:1.65;
}
.primary.big{
font-size:1.3rem;
padding:20px 28px;
border-radius:999px;
}
}

.welcome-title-block{
  width:100%;
  text-align:center;
  color:#171726;
  margin:-8px 0 -2px;
}
.welcome-names{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(2.05rem, 7vw, 3.4rem);
  line-height:1.05;
  letter-spacing:-.03em;
  color:#141827;
}
.welcome-anniversary{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(2.15rem, 9vw, 4.4rem);
  line-height:1;
  letter-spacing:.035em;
  color:#b38332;
  text-transform:uppercase;
  margin:8px 0 6px;
}
.welcome-separator{
  height:2px;
  background:#b38332;
  width:94%;
  margin:12px auto 8px;
  opacity:.85;
}
.welcome-separator.strong{
  height:4px;
  margin:8px auto 0;
}
@media(max-width:768px){
  .welcome-wrap{gap:18px;}
  .welcome-title-block{margin:-4px 0 -2px;}
  .welcome-names{font-size:clamp(2rem, 8vw, 2.8rem);}
  .welcome-anniversary{font-size:clamp(2.05rem, 10vw, 3.25rem); letter-spacing:.025em;}
  .welcome-separator{width:96%; margin:10px auto 6px;}
}
