@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Inter', Arial, sans-serif;
  color: #1a202c;
  background-color: #f9fafb;
  line-height: 1.65;
}
.max-w-7xl { max-width: 1280px; margin: 0 auto; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
header {
  background-color: #1e3b8a;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
nav { display: flex; justify-content: space-between; align-items: center; }
nav h1 { font-size: 1.875rem; font-weight: 700; }
nav ul { display: flex; list-style: none; gap: 1rem; }
nav a { color: #fff; text-decoration: none; font-weight: 500; padding: 0.5rem 1rem; border-radius: 0.375rem; transition: background-color 0.3s ease, transform 0.2s ease; }
nav a:hover, nav a:focus { background-color: #4f99f5; transform: translateY(-1px); outline: none; }
nav input[type="search"] { background-color: #fff; color: #1a202c; }
nav input[type="search"]:focus { ring: 2px solid #4f99f5; }
.bg-gradient-to-br { background: linear-gradient(135deg, #1e3b8a 0%, #4f99f5 100%); }
.text-white { color: #fff; }
.text-center { text-align: center; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-3xl { font-size: 1.875rem; }
.text-2xl { font-size: 1.5rem; }
.text-xl { font-size: 1.25rem; }
.text-lg { font-size: 1.125rem; }
.text-sm { font-size: 0.875rem; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 500; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.max-w-2xl { max-width: 32rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.bg-white { background-color: #fff; }
.bg-gray-50 { background-color: #f9fafb; }
.bg-gray-100 { background-color: #f3f4f6; }
.bg-gray-200 { background-color: #e5e7eb; }
.bg-yellow-100 { background-color: #fefcbf; }
.text-yellow-800 { color: #854d0e; }
.text-red-600 { color: #dc2626; }
.text-primary { color: #1e3b8a; }
.text-accent { color: #4f99f5; }
.text-accent:hover, .text-accent:focus { color: #1e40af; }
.text-blue-link { color: #0000EE; text-decoration: underline; }
.text-blue-link:hover, .text-blue-link:focus { color: #1e40af; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.rounded-lg { border-radius: 0.5rem; }
.shadow-md { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
.transition-colors { transition: color 0.3s ease, background-color 0.3s ease; }
.list-disc { list-style-type: disc; }
.pl-6 { padding-left: 1.5rem; }
.space-y-2 > * + * { margin-top: 0.5rem; }
.space-y-4 > * + * { margin-top: 1rem; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #e5e7eb; padding: 0.75rem; text-align: left; }
th { background-color: #f3f4f6; font-weight: 500; }
details { background-color: #f9fafb; }
summary { font-weight: 500; cursor: pointer; outline: none; }
summary:focus { ring: 2px solid #4f99f5; }
.sticky { position: sticky; }
.top-20 { top: 5rem; }
.self-start { align-self: flex-start; }
footer {
  text-align: center;
  padding: 3rem 1rem;
  color: #fff;
  background: linear-gradient(135deg, #1e3b8a 0%, #4f99f5 100%);
  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .lg\:flex-row { flex-direction: column; }
  .lg\:w-3/4 { width: 100%; }
  .lg\:w-1/4 { width: 100%; }
  .top-20 { position: static; }
  table { display: block; overflow-x: auto; }
}
@media (max-width: 768px) {
  .text-5xl { font-size: 2.25rem; }
  .text-4xl { font-size: 1.875rem; }
  nav ul { flex-direction: column; gap: 0.5rem; }
  .px-4 { padding-left: 0.5rem; padding-right: 0.5rem; }
}
@media (prefers-color-scheme: dark) {
  body { background-color: #111827; color: #d1d5db; }
  .bg-white, .bg-gray-50, .bg-gray-100, .bg-gray-200 { background-color: #1f2937; }
  th { background-color: #374151; }
  nav a, .text-white, .text-primary { color: #fff; }
  .text-accent { color: #93c5fd; }
  .text-accent:hover, .text-accent:focus { color: #bfdbfe; }
  .text-blue-link { color: #60a5fa; }
  .text-blue-link:hover, .text-blue-link:focus { color: #93c5fd; }
  footer { background: linear-gradient(135deg, #1e40af 0%, #60a5fa 100%); }
  nav input[type="search"] { background-color: #374151; color: #d1d5db; }
}
@media (prefers-contrast: high) {
  body { background-color: #fff; color: #000; }
  .bg-white, .bg-gray-50, .bg-gray-100, .bg-gray-200 { background-color: #fff; }
  .text-accent, .text-blue-link { color: #000080; }
  .text-accent:hover, .text-accent:focus, .text-blue-link:hover, .text-blue-link:focus { color: #0000ff; }
}