.legality-overlay { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(18, 13, 18, .72); }
.legality-overlay[hidden] { display: none; }
.legality-banner { width: min(100%, 760px); padding: 1.5rem; border: 1px solid #d9cfd5; border-radius: 8px; background: #fff; color: #211b22; box-shadow: 0 8px 30px rgba(33, 27, 34, .3); }
.legality-banner h2 { margin: 0 0 .5rem; font-size: 1.25rem; }
.legality-banner p { margin: 0 0 .75rem; }
.legality-banner__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.legality-banner__actions { justify-content: flex-end; }
.legality-banner button, .legality-manage { cursor: pointer; }
.legality-banner__links a { margin-right: .75rem; }
.legality-consent-required { overflow: hidden; }
@media (max-width: 600px) { .legality-banner { inset: auto .5rem .5rem; } .legality-banner__actions { justify-content: stretch; } .legality-banner__actions button { flex: 1 1 100%; } }