html, body { height: auto; min-height: 100vh; overflow: auto; }
body.legal-page { background: radial-gradient(90% 60% at 50% 0%, color-mix(in srgb, var(--a) 12%, transparent), transparent 70%), var(--bg); color: var(--tx); }
.lg-top { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px clamp(16px, 5vw, 48px); background: color-mix(in srgb, var(--bg) 78%, transparent); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); border-bottom: 1px solid var(--glass-line); height: auto; pointer-events: auto; }
.lg-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--tx); text-decoration: none; font-weight: 800; font-size: 1.05rem; }
.lg-brand .brand-symbol { height: 26px; width: auto; }
.lg-brand .wordmark-svg { height: 24px; width: auto; }
.lg-toc { display: flex; gap: 6px; flex-wrap: wrap; }
.lg-toc a { padding: 8px 14px; border-radius: 999px; color: var(--mu); font-size: 0.84rem; font-weight: 600; text-decoration: none; transition: background 0.25s var(--ease), color 0.25s var(--ease); }
.lg-toc a:hover { background: rgba(255, 255, 255, 0.07); color: var(--tx); }
.lg-main { width: min(820px, 100%); margin: 0 auto; padding: 28px clamp(16px, 5vw, 48px) 40px; display: flex; flex-direction: column; gap: 26px; }
.lg-updated { color: var(--mu); font-size: 0.84rem; }
.lg-lang { padding: 12px 16px; border-radius: 14px; font-size: 0.86rem; line-height: 1.55; color: var(--tx); background: color-mix(in srgb, var(--tx) 6%, transparent); }
.lg-lang[hidden] { display: none; }
.lg-doc { scroll-margin-top: 90px; padding: clamp(20px, 4vw, 34px); border-radius: var(--r-lg); background: linear-gradient(180deg, var(--glass-top), var(--glass-bottom)), var(--gl); border: 1px solid var(--glass-line); box-shadow: inset 0 1px 0 var(--glass-spec), var(--glass-shadow); }
.lg-doc h1 { font-size: clamp(1.5rem, 3vw, 1.9rem); margin-bottom: 8px; }
.lg-doc h3 { font-size: 1rem; margin: 22px 0 6px; }
.lg-doc p, .lg-doc li { font-size: 0.93rem; line-height: 1.7; color: color-mix(in srgb, var(--tx) 88%, transparent); }
.lg-doc ul { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
.lg-doc a { color: var(--a); }
.lg-table { overflow-x: auto; margin: 10px 0 14px; border-radius: 16px; border: 1px solid var(--glass-line); }
.lg-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 0.84rem; }
.lg-table th, .lg-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--glass-line); line-height: 1.5; }
.lg-table th { font-weight: 600; background: rgba(255, 255, 255, 0.04); }
.lg-table tr:last-child td { border-bottom: 0; }
.lg-foot { text-align: center; padding: 0 20px 40px; }
.lg-foot a { color: var(--mu); }
