* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Times New Roman', Georgia, serif;
  line-height: 1.6;
  color: #e3ebf5;
  background: #0d1b2a;
}

.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
}

/* ===== Шапка ===== */
.hero {
  background: linear-gradient(135deg, #0d1b2a 0%, #1b3a5c 100%);
  color: #ffffff;
  padding: 60px 0;
  text-align: center;
  border-bottom: 4px solid #3a7bd5;
}

.hero h1 {
  font-size: 2.4em;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}

.hero .subtitle {
  font-size: 1.2em;
  opacity: 0.95;
}

.hero .author {
  margin-top: 15px;
  font-style: italic;
  opacity: 0.85;
}

.hero a {
  color: #ffffff;
  text-decoration: none;
}

.hero a:hover {
  text-decoration: underline;
}

/* ===== Основной контент ===== */
.intro {
  margin: 30px 0;
}

.intro h2 {
  color: #7fb3f5;
  margin-bottom: 10px;
}

h2 {
  color: #7fb3f5;
  margin: 25px 0 10px;
}

h3 {
  color: #9cc4f0;
  margin: 20px 0 10px;
}

p, ul, ol, table {
  margin-bottom: 15px;
}

ul, ol {
  padding-left: 25px;
}

strong {
  color: #cfe0f5;
}

/* ===== Карточки ===== */
.cards {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 30px 0;
}

.card {
  flex: 1;
  min-width: 280px;
  background: #14263d;
  border: 1px solid #2a4a6e;
  border-radius: 8px;
  padding: 22px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.card h3 {
  color: #7fb3f5;
  margin-bottom: 10px;
}

.card p {
  margin-bottom: 10px;
  color: #c4d4e6;
}

.card ul {
  padding-left: 20px;
}

.card li {
  margin-bottom: 5px;
}

.card a {
  color: #8fc1f5;
  text-decoration: none;
}

.card a:hover {
  color: #b8d9ff;
  text-decoration: underline;
}

/* ===== Таблицы ===== */
table {
  width: 100%;
  border-collapse: collapse;
  background: #14263d;
}

th, td {
  border: 1px solid #2a4a6e;
  padding: 10px 12px;
  text-align: left;
}

th {
  background: #1b3a5c;
  color: #cfe0f5;
}

td {
  color: #c4d4e6;
}

tr:nth-child(even) td {
  background: #18304a;
}

/* ===== Подвал ===== */
footer {
  text-align: center;
  padding: 20px;
  color: #8ba3bd;
  border-top: 1px solid #2a4a6e;
  margin-top: 30px;
}