:root {
  color-scheme: light;
  font-family: Inter, "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
  color: #172033;
  background: #f3f6fb;
}

* { box-sizing: border-box; }

body { margin: 0; min-height: 100vh; }

.page-shell { width: min(960px, calc(100% - 32px)); margin: 0 auto; padding: 56px 0 24px; }

.hero { margin-bottom: 28px; }
.eyebrow { color: #1769e0; font-weight: 700; letter-spacing: .08em; }
h1 { margin: 8px 0; font-size: clamp(2rem, 5vw, 3.5rem); }
.subtitle { color: #61708a; font-size: 1.05rem; }

.card { background: #fff; border: 1px solid #e3e9f2; border-radius: 18px; padding: 28px; box-shadow: 0 12px 35px rgba(29, 47, 78, .07); margin-bottom: 22px; }
.card h2 { margin-top: 0; }
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.facts div { border-bottom: 1px solid #edf1f6; padding-bottom: 12px; }
dt { color: #66748c; font-size: .9rem; }
dd { margin: 5px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.behaviors h3 { font-size: 1rem; }
.behaviors li { margin: 7px 0; }

#download-form { display: grid; gap: 12px; max-width: 520px; }
.captcha-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
#captcha-image { display: block; border: 1px solid #cfd8e6; border-radius: 8px; background: #f7f9fc; }
label { font-weight: 650; }
input { width: 100%; padding: 12px 14px; border: 1px solid #b9c5d6; border-radius: 9px; font: inherit; font-size: 1.1rem; letter-spacing: .14em; }
input:focus { outline: 3px solid rgba(31, 111, 235, .18); border-color: #1f6feb; }
button, .link-button { border-radius: 9px; padding: 11px 16px; font: inherit; font-weight: 700; cursor: pointer; text-align: center; }
.primary { color: #fff; background: #1769e0; border: 1px solid #1769e0; }
.secondary { color: #174f9f; background: #eef5ff; border: 1px solid #bfd6f8; text-decoration: none; }
button:disabled { cursor: not-allowed; opacity: .55; }
.status { min-height: 1.5em; color: #294c7a; font-weight: 600; }
.manual-download { padding: 14px; border-radius: 10px; background: #f5f8fc; }
.manual-download p { margin-top: 0; }
.support { color: #61708a; }
footer { padding: 20px 16px 40px; color: #6c7890; text-align: center; }

@media (max-width: 650px) {
  .page-shell { padding-top: 30px; }
  .card { padding: 20px; border-radius: 14px; }
  .facts { grid-template-columns: 1fr; }
}
