.legal-panel{position:fixed;inset:0;z-index:130;background:rgba(var(--ink-rgb),.6);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}
.legal-panel[hidden]{display:none!important}
.lp-sheet{background:var(--paper);color:var(--ink);width:min(860px,100%);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:-30px 0 70px -30px rgba(0,0,0,.5);animation:lpIn .35s var(--ease) both}
@keyframes lpIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.lp-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(18px,4vw,40px);border-bottom:1px solid var(--line)}
.lp-head h2{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.03em;margin:0}
.lp-close{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--sand);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lp-close:hover{background:var(--ink);color:var(--paper)}
.lp-body{overflow-y:auto;overscroll-behavior:contain;padding:8px clamp(18px,4vw,40px) 60px;position:relative}
.lp-body .prose{max-width:none}
.lp-page{display:inline-block;margin-top:18px;font-size:13.5px;color:var(--muted)}
html.legal-open,html.legal-open body{overflow:hidden}
