.legal-page { font: 16px/1.7 system-ui, sans-serif; color: #c8ced8; }
.legal-workspace { width: min(920px, 100%); margin: auto; padding: 28px 24px 48px; }
.legal-brand { font: 900 18px/1.5 Orbitron, sans-serif; letter-spacing: .12em; text-decoration: none; }
.legal-page h1 { color: #fff; font-size: clamp(26px, 5vw, 38px); line-height: 1.2; margin: 40px 0 16px; }
.legal-page h2 { color: #eef2f7; font-size: 21px; line-height: 1.4; margin-top: 36px; }
.legal-page a { color: #82c8ee; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page p, .legal-page li { overflow-wrap: anywhere; }
.legal-meta { color: #919aa8; font-size: 14px; }
.legal-notice { padding: 16px; margin-top: 24px; border: 1px solid #6b7280; border-radius: 10px; background: #11151c; }
.legal-table-wrap { overflow-x: auto; }
.legal-page table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-page th, .legal-page td { padding: 12px; border: 1px solid #343b46; text-align: left; vertical-align: top; min-width: 165px; }
.legal-page th { color: #fff; background: #11151c; }
.legal-page footer { border-top: 1px solid #242a32; margin-top: 40px; padding-top: 12px; }
.legal-page button { padding: 10px 16px; border: 1px solid #637183; border-radius: 8px; color: #fff; background: #151c26; font: inherit; cursor: pointer; }
.legal-page button:hover { background: #223047; }
.legal-page details { margin-top: 24px; }
.legal-page summary { cursor: pointer; }
.legal-form { display: grid; gap: 12px; max-width: 560px; }
.legal-form input[type=password] { max-width: 360px; width: 100%; padding: 10px; border: 1px solid #637183; border-radius: 8px; background: #0b1019; color: #fff; font: inherit; }
.legal-check { display: flex; align-items: flex-start; gap: 10px; }
.legal-check input { flex: none; width: 18px; height: 18px; margin: 4px 0 0; accent-color: #0ea5e9; }
.dream-form a { color: #82c8ee; text-underline-offset: 3px; }
.dream-form .legal-check { font-size: 13px; }
.legal-page .legal-danger { justify-self: start; border-color: #be6868; }
.legal-page .errorlist { color: #ffaaa6; padding-left: 20px; }
.legal-page a:focus-visible, .legal-page input:focus-visible, .legal-page button:focus-visible { outline: 2px solid #0ea5e9; outline-offset: 4px; }
@media (max-width: 480px) { .legal-workspace { padding: 20px 16px 32px; } }
