:root{
  color-scheme:light;
  --bg:#fffaf0;--card:#fffef9;--navy:#192b40;--ink:#253548;--coral:#f86c51;--brick:#ba3e2b;
  --muted:#647083;--sun:#ffdc71;--mint:#c8efda;--soft:rgba(25,43,64,.74);
  --press:cubic-bezier(.2,.8,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:hidden}
body{
  margin:0;background:var(--bg);color:var(--navy);
  font:500 16px/1.55 Outfit,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  padding-block:calc(32px + env(safe-area-inset-top,0px)) calc(48px + env(safe-area-inset-bottom,0px));
}
.col{width:100%;max-width:520px;margin-inline:auto;padding-inline:18px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;
  font-size:19px;font-weight:800;letter-spacing:-.045em}
.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sun);
  border:1.5px solid var(--ink);box-shadow:3px 3px 0 0 #e8bf4e;transform:rotate(-3deg)}
.mark svg{width:20px;height:20px;color:var(--ink)}
.card{margin-top:22px;background:var(--card);border:1.5px solid var(--ink);border-radius:24px;
  box-shadow:6px 6px 0 0 var(--coral);padding:24px 20px 20px;outline:none}
h1{margin:0;font-size:clamp(26px,7vw,32px);font-weight:800;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}
h2{margin:26px 0 6px;font-size:18px;font-weight:800;letter-spacing:-.03em}
p,li{color:var(--soft);font-size:15px}
p{margin:12px 0 0}
ul{margin:8px 0 0;padding-left:20px}
li{margin:4px 0}
b{color:var(--navy)}
a{color:var(--brick);font-weight:650;text-underline-offset:3px}
.msg{color:var(--brick);font-weight:650;font-size:14px}
.msg:empty{display:none}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:18px;
  border:1.5px solid var(--ink);border-radius:14px;background:var(--coral);color:var(--navy);cursor:pointer;
  font:800 17px/1 Outfit,system-ui,sans-serif;letter-spacing:-.03em;box-shadow:4px 4px 0 0 var(--ink);
  transition:transform 90ms var(--press),box-shadow 90ms var(--press)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 0 var(--ink)}
.btn:disabled{cursor:progress;opacity:.85}
.quiet{display:inline-block;margin-top:14px;padding-block:8px;font-size:14px}
:where(a,button):focus-visible{outline:3px solid var(--brick);outline-offset:3px}
.updated{margin-top:18px;font-size:12.5px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.mark{transform:none}.btn{transition:none}}
