*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;
  padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:#f4f5f7;color:#1d2330;text-align:center;-webkit-font-smoothing:antialiased}
.card{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:18px;animation:in .8s ease-out both}
.logo{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}
.logo img{display:block;margin-left:auto;margin-right:auto;max-width:78vw;height:auto;margin-bottom:10px}
.logo img.rounded{border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.headline{font-size:30px;font-weight:700;letter-spacing:-.01em}
.sub{font-size:17px;line-height:1.5;opacity:.72;max-width:320px}
.headline::before{content:"";display:block;width:44px;height:3px;border-radius:3px;margin:0 auto 18px;background:currentColor;opacity:.25}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wordmark{display:flex;flex-direction:column;align-items:center;margin-bottom:10px;font-family:Georgia,"Times New Roman",serif}
.wm1{font-size:34px;letter-spacing:.02em;line-height:1.15}
.wm2{font-size:15px;letter-spacing:.5em;text-transform:uppercase;margin-top:8px;padding-left:.5em;opacity:.8}
.theme-ice{background:linear-gradient(180deg,#eef7fd 0%,#d6ecfa 100%);color:#13304a}
.theme-warm{background:linear-gradient(180deg,#fff8ee 0%,#fde7c8 100%);color:#4a2a10}
.theme-dark{background:linear-gradient(180deg,#1c2a3a 0%,#0f1822 100%);color:#f2f5f8}
.theme-navy{background:linear-gradient(180deg,#eef1f6 0%,#dbe2ee 100%);color:#16233d}
.theme-stone{background:linear-gradient(180deg,#f7f4ee 0%,#ebe4d6 100%);color:#4a3f2c}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.card{animation:none}}
.caption{text-align:center;font-size:22px;font-weight:700;letter-spacing:.01em;margin-top:6px}
