*{box-sizing:border-box}body{margin:0;background:#eef4f5;color:#17343d;font:16px/1.6 system-ui,sans-serif}
main{max-width:720px;margin:8vh auto;padding:24px}
.badge{font-size:12px;font-weight:750;letter-spacing:2px;color:#287477}
h1{font-size:clamp(32px,5vw,48px);line-height:1.12;letter-spacing:-1.5px}
.intro{font-size:19px;color:#526b73}
section{background:white;border:1px solid #d6e2e5;border-radius:20px;padding:32px;box-shadow:0 12px 40px #183b4510;margin-top:32px}
label{display:block;font-weight:700;margin-bottom:16px}input[type=file]{width:100%;padding:20px;border:2px dashed #b9d2d5;border-radius:12px}
button{border:0;background:#126c70;color:white;padding:14px 22px;font:700 16px system-ui;border-radius:9px;cursor:pointer}
button:disabled{opacity:.5}.hint,.footer,#elapsed{font-size:14px;color:#617980}
.footer{margin-top:24px}#error{color:#a13e29;overflow-wrap:anywhere}#name{overflow-wrap:anywhere;font-weight:600}
progress{width:100%}.spinner{width:32px;height:32px;border:4px solid #dbeaec;border-top-color:#126c70;border-radius:50%;animation:spin 1s linear infinite}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.cemetery-banner {
  background: #17343d;
  color: #fff;
  padding: 24px 20px;
  text-align: center;
  font-size: clamp(22px, 4vw, 34px);
  font-weight: 700;
  letter-spacing: 0.5px;
}

main {
  margin-top: 32px;
}
