.legal{background:radial-gradient(circle at 50% 0,var(--bg-dark-2),var(--bg-dark) 65%);color:var(--text-white);padding:clamp(2.5rem,8vh,5rem) 0 clamp(3rem,10vh,6rem)}.legal__inner{max-width:46rem}.legal__title{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}.legal__meta{color:var(--text-muted);font-size:.8125rem;margin-top:.75rem}.legal__notice{margin:1.75rem 0 2.5rem;padding:1rem 1.15rem;border:1px solid var(--yellow);border-radius:var(--radius);background:rgba(245,197,24,.08);font-size:.875rem;line-height:1.6}.legal__notice strong{color:var(--yellow-bright)}.legal__toc{margin-bottom:2.5rem;padding:1.15rem 1.25rem;border:1px solid var(--border-dark);border-radius:var(--radius);background:var(--bg-dark-card)}.legal__toc h2{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}.legal__toc ol{margin:0;padding-left:1.25rem;display:grid;grid-gap:.35rem;gap:.35rem;font-size:.875rem}.legal__section{margin-top:2.25rem}.legal__section h2{font-size:clamp(1.0625rem,3.5vw,1.25rem);font-weight:700;line-height:1.3;scroll-margin-top:calc(var(--header-height) + 1rem)}.legal__section h3{font-size:.9375rem;font-weight:600;margin-top:1.25rem}.legal__section li,.legal__section p{color:var(--text-muted);font-size:.9375rem;line-height:1.7}.legal__section p{margin-top:.75rem}.legal__section ul{margin:.75rem 0 0;padding-left:1.25rem;display:grid;grid-gap:.4rem;gap:.4rem}.legal__section code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em;padding:.05rem .3rem;border-radius:4px;background:rgba(255,255,255,.08);color:var(--text-white)}.legal a{color:var(--teal-link);border-bottom:1px solid transparent;transition:border-color var(--transition)}.legal a:focus-visible,.legal a:hover{border-bottom-color:currentColor}.legal__todo{display:inline;padding:.1rem .35rem;border-radius:4px;background:rgba(233,30,99,.18);border:1px dashed var(--pink);color:var(--text-white);font-size:.8125rem}.legal__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem}.legal__actions .btn{min-height:44px}@media (max-width:480px){.legal__actions{flex-direction:column;align-self:stretch}.legal__actions .btn{width:100%}}