:root {
    color-scheme: light;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
    color: #18352f;
    background: #eef2f0;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: #eef2f0; }
.download-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.download-panel { width: min(100%, 520px); background: #fff; border: 1px solid #d8e0dd; border-radius: 8px; box-shadow: 0 14px 38px rgba(24, 53, 47, .1); padding: 28px; }
.download-panel header { display: flex; gap: 14px; align-items: center; border-bottom: 1px solid #e6ebe9; padding-bottom: 20px; }
.download-mark { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; background: #176b5b; color: #fff; font-weight: 700; border-radius: 6px; }
h1 { margin: 0 0 4px; font-size: 22px; letter-spacing: 0; }
header p { margin: 0; color: #687b76; font-size: 14px; }
dl { margin: 20px 0; border: 1px solid #e3e9e7; }
dl div { display: grid; grid-template-columns: 70px minmax(0, 1fr); padding: 10px 12px; }
dl div + div { border-top: 1px solid #e3e9e7; }
dt { color: #71807c; }
dd { margin: 0; min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
label { display: block; margin-bottom: 8px; font-weight: 600; }
.captcha-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; align-items: stretch; }
.captcha-row img { display: block; width: 220px; height: 72px; border: 1px solid #cad5d1; }
.captcha-row input { width: 100%; min-width: 0; border: 1px solid #aebdb8; border-radius: 4px; padding: 0 12px; font-size: 20px; text-transform: uppercase; letter-spacing: 0; }
.captcha-row input:focus { outline: 2px solid #77a99f; outline-offset: 1px; border-color: #176b5b; }
button, .return-link { display: inline-flex; justify-content: center; align-items: center; min-height: 42px; margin-top: 16px; border: 0; border-radius: 4px; background: #176b5b; color: #fff; padding: 0 18px; text-decoration: none; font: inherit; font-weight: 600; cursor: pointer; }
button:hover, .return-link:hover { background: #115548; }
footer { margin-top: 24px; color: #84918d; font-size: 12px; }
footer a { color: #5d736d; }
.download-error header { border-bottom: 0; }
.download-error .download-mark { background: #b54837; }
.download-error .return-link { margin-bottom: 4px; }

@media (max-width: 520px) {
    .download-shell { padding: 12px; }
    .download-panel { padding: 20px; }
    .captcha-row { grid-template-columns: 1fr; }
    .captcha-row img { width: 100%; object-fit: cover; }
    .captcha-row input { min-height: 52px; }
}
