* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.5;
  color: #1c2530;
  background: #f4f6f9;
}
.top { background: #12355b; color: #fff; padding: 1.5rem 1rem; text-align: center; }
.top h1 { margin: 0 0 .4rem; font-size: 1.6rem; }
.lead { margin: 0; opacity: .92; }
main { max-width: 42rem; margin: 1rem auto; padding: 0 1rem; }
.card { background: #fff; border: 1px solid #d9dfe7; border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
h2 { margin-top: 0; font-size: 1.25rem; }
h3 { margin-bottom: .25rem; font-size: 1rem; }
label { display: block; margin-top: .9rem; font-weight: 600; }
input, select { width: 100%; padding: .6rem; margin-top: .25rem; font-size: 1rem; border: 1px solid #8a96a6; border-radius: 6px; background: #fff; color: inherit; }
button { margin-top: 1.2rem; width: 100%; padding: .75rem; font-size: 1.05rem; font-weight: 700; color: #fff; background: #12355b; border: 0; border-radius: 6px; cursor: pointer; }
button:hover, button:focus { background: #0b2440; }
input:focus, select:focus, button:focus { outline: 3px solid #f2a900; outline-offset: 1px; }
.big { font-size: 1.3rem; margin: 0 0 .5rem; }
dl { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; margin: 0; }
dt { color: #4a5666; }
dd { margin: 0; font-weight: 600; text-align: right; }
.msg { padding: .75rem; background: #fff4d6; border-left: 4px solid #f2a900; margin: 0 0 .75rem; }
.src, .disclaimer { font-size: .9rem; color: #4a5666; }
.disclaimer { border-top: 1px solid #d9dfe7; padding-top: .75rem; font-weight: 600; }
#values { padding-left: 1.2rem; margin: .25rem 0 .5rem; }
a { color: #0b4f9e; }
.tablewrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin: .5rem 0 1rem; font-size: .95rem; }
th, td { padding: .45rem .5rem; border-bottom: 1px solid #d9dfe7; text-align: right; }
th[scope="row"], thead th:first-child { text-align: left; }
thead th { background: #eef2f7; }
.nav { line-height: 1.9; }
ul { padding-left: 1.2rem; }
footer { max-width: 42rem; margin: 0 auto; padding: 1rem; font-size: .9rem; color: #4a5666; }
