/* /terms and /privacy — long-form reading pages.
   The document sits on a near-opaque panel so the digital rain never shows
   through the text. */
.page-header { text-align: center; margin-bottom: 30px; }
.page-header .subtitle { color: #0ff; letter-spacing: 2px; text-transform: uppercase; font-size: 0.85em; margin-top: 10px; }

.legal-doc {
    max-width: 860px;
    margin: 0 auto 30px;
    padding: 30px 34px;
    background: rgba(0, 8, 0, 0.94);
    border: 2px solid #0f0;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 255, 0, 0.12);
    color: #c9f7c9;
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: break-word;
}
.legal-doc h2 {
    color: #0f0;
    font-size: 1.25em;
    margin: 34px 0 10px;
    padding-top: 14px;
    border-top: 1px dashed rgba(0, 255, 0, 0.3);
    scroll-margin-top: 90px;
}
.legal-doc h3 { color: #0ff; font-size: 1.02em; margin: 20px 0 6px; }
.legal-doc p { margin: 0 0 12px; }
.legal-doc ul, .legal-doc ol { margin: 0 0 14px; padding-left: 22px; }
.legal-doc li { margin-bottom: 6px; }
.legal-doc a { color: #0ff; text-decoration: underline; }
.legal-doc a:hover, .legal-doc a:focus { color: #fff; }
.legal-doc strong { color: #e6ffe6; }

.legal-meta { color: #0ff; font-size: 0.9em; margin-bottom: 18px; }
.legal-summary {
    background: rgba(0, 255, 255, 0.07);
    border-left: 4px solid #0ff;
    border-radius: 0 6px 6px 0;
    padding: 14px 18px;
    margin: 0 0 22px;
}
.legal-summary p:last-child, .legal-summary ul:last-child { margin-bottom: 0; }

.legal-toc { margin: 0 0 6px; padding: 14px 18px; border: 1px dashed rgba(0, 255, 0, 0.35); border-radius: 6px; }
.legal-toc strong { display: block; margin-bottom: 6px; color: #0f0; letter-spacing: 1px; text-transform: uppercase; font-size: 0.82em; }
.legal-toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 30px; }
.legal-toc li { margin-bottom: 3px; break-inside: avoid; }

.legal-caps { font-size: 0.93em; letter-spacing: 0.2px; }

.legal-table-wrap { overflow-x: auto; margin: 0 0 14px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.legal-table th, .legal-table td { padding: 9px 10px; text-align: left; vertical-align: top; border-bottom: 1px dashed rgba(0, 255, 0, 0.25); }
.legal-table th { color: #0ff; font-size: 0.82em; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap; }
.legal-table code { color: #ffd700; font-size: 0.95em; }

.legal-foot { margin-top: 26px; padding-top: 14px; border-top: 1px dashed rgba(0, 255, 0, 0.3); font-size: 0.92em; }

@media (max-width: 640px) {
    .legal-doc { padding: 20px 16px; font-size: 0.97rem; }
    .legal-toc ol { columns: 1; }
}
