/* The Terms and the Privacy Policy: the front page's bar, ground, type and
   panels, set for reading. */
.legal .aurora { height: 46rem; }
.legal-wrap { max-width: 50rem; margin: 0 auto; padding: 3rem clamp(1rem, 4vw, 2rem) 2rem; }
.legal-wrap > .h2 { font-size: clamp(2rem, 4.4vw, 3rem); }
.legal-meta { margin: 0.9rem 0 0; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim); }
.legal-lead { margin: 1.4rem 0 0; padding: 1.1rem 1.25rem; border-radius: 14px; font-size: 1.02rem; line-height: 1.65; color: #d6dcea;
  background: radial-gradient(70% 60% at 50% 0%, rgba(26, 98, 231, 0.16), transparent 70%), linear-gradient(180deg, var(--panel-top), var(--panel-bottom)); border: 1px solid var(--panel-line); }
.legal-toc { margin: 1.6rem 0 0; padding: 1.1rem 1.25rem; border-radius: 14px; background: var(--bg-elev); border: 1px solid var(--line); }
.legal-toc ol { margin: 0; padding: 0 0 0 1.3rem; columns: 2; column-gap: 2rem; font-size: 0.9rem; line-height: 1.9; color: var(--text-dim); }
.legal-toc a { color: var(--text); text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }
.legal-wrap section { margin-top: 2.6rem; }
.legal-wrap section h2 { display: flex; align-items: baseline; gap: 0.7rem; margin: 0 0 0.8rem; font-size: 1.35rem; font-weight: 900; letter-spacing: -0.02em; line-height: 1.2; }
.legal-wrap section h2 span { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.2em; color: var(--lg1); }
.legal-wrap section p, .legal-wrap section li { font-size: 1rem; line-height: 1.75; color: #d6dcea; }
.legal-wrap section p { margin: 0 0 0.9rem; }
.legal-wrap section ul { margin: 0 0 0.9rem; padding-left: 1.2rem; display: grid; gap: 0.5rem; }
.legal-wrap section b { color: var(--text); }
.legal-wrap a { color: #8fd3ff; }
.legal-other { margin: 2.6rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--line); color: var(--text-dim); }
@media (max-width: 640px) { .legal-toc ol { columns: 1; } }
.nf { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem; text-align: center; padding: 2rem 1rem; }
.nf img { filter: drop-shadow(0 0 30px rgba(93, 102, 255, 0.7)); margin-bottom: 1rem; }
.nf .lede { margin: 0.6rem auto 1.6rem; }
