.site-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    width: 100%;
    max-width: 1512px;
    margin: 0 auto;
    padding: 20px 36px 28px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 12px;
}
.site-footer a { padding: 10px 0; color: var(--muted); }
.site-footer a:hover { color: var(--accent); }
.legal-document { max-width: 900px; margin-inline: auto; overflow-wrap: anywhere; }
.legal-heading { margin-bottom: 28px; }
.legal-heading h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.2; }
.legal-document section + section { margin-top: 28px; }
.legal-document h2 { font-size: 20px; margin-bottom: 12px; }
.legal-document p, .legal-document li { line-height: 1.75; }
.legal-document ul { padding-left: 22px; }
.legal-document li + li { margin-top: 10px; }
.privacy-contacts { display: grid; grid-template-columns: minmax(120px, 180px) minmax(0, 1fr); gap: 10px 18px; margin: 20px 0; }
.privacy-contacts dt { color: var(--muted); }
.privacy-contacts dd { margin: 0; overflow-wrap: anywhere; }
.legal-version { font-size: 12px; margin-top: 28px; }
.steam-signin { max-width: 620px; margin: 24px auto; }
.steam-signin h1 { font-size: clamp(26px, 4vw, 36px); }
.steam-signin p { line-height: 1.65; }
.steam-signin .privacy-checkbox { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; line-height: 1.6; font-size: 14px; }
.privacy-checkbox input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: var(--accent); }
.privacy-checkbox:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 3px; }
.steam-signin .form-stack { margin-top: 24px; }
.steam-signin .validation-summary-errors { color: var(--red, #ff8b8b); }
.steam-signin .validation-summary-valid { display: none; }
.signin-back { display: inline-block; margin-top: 24px; }
.steam-signin .text-link, .legal-document .text-link { font-size: inherit; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
    .site-footer { padding: 16px var(--gutter, 16px) 24px; }
    .privacy-contacts { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .privacy-contacts dd + dt { margin-top: 10px; }
    .steam-signin { margin-top: 0; }
}
.signin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
