/* Scoped legal gallery: the learning interface keeps its existing styles. */
body.user-v1-focus-page .vl-launch {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 1 auto;
  min-height: var(--vui-touch,44px); padding: 8px 12px;
  border: var(--vui-border-width,1px) solid #d93a2f;
  border-radius: var(--vui-radius-control,10px);
  color: #fff; background: #ed493c; font: 750 14px/1.3 system-ui,-apple-system,sans-serif;
  cursor: pointer; text-align: center; overflow-wrap: anywhere;
}
body.user-v1-focus-page[data-focus-theme] #focus-setup-heading:has(.vl-launch) .focus-header-tools { min-width: var(--vui-touch,44px); }
body.user-v1-focus-page .vl-dialog {
  width: min(1080px,calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px);
  margin: auto; padding: 0; overflow: hidden; border: var(--vui-border-width,1px) solid var(--ui-line);
  border-radius: var(--vui-radius-panel,18px); color: var(--ui-text,var(--ui-accent));
  background: var(--ui-panel); box-shadow: 0 24px 80px #0005;
  font: 16px/1.5 system-ui,-apple-system,sans-serif;
}
.vl-dialog::backdrop { background: #080e1c99; }
.vl-shell { display: flex; flex-direction: column; max-height: calc(100dvh - 26px); }
.vl-header { display: flex; align-items: center; justify-content: space-between; gap: var(--vui-space-4,16px); padding: 18px 22px; border-bottom: 1px solid var(--ui-line); }
.vl-header > div { min-width: 0; }
.vl-header h2 { margin: 0; color: var(--ui-accent); font: 800 22px/1.3 system-ui,-apple-system,sans-serif; overflow-wrap: anywhere; }
.vl-header p { margin: 4px 0 0; color: var(--ui-muted); font-size: 14px; }
body.user-v1-focus-page .vl-close { width: var(--vui-touch,44px); min-height: var(--vui-touch,44px); flex: 0 0 var(--vui-touch,44px); font: 28px/1 system-ui,sans-serif; cursor: pointer; }
.vl-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 22px max(22px,env(safe-area-inset-bottom)); }
.vl-note { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--ui-muted); }
.vl-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.vl-gallery figure { margin: 0; min-width: 0; }
.vl-gallery a { display: block; overflow: hidden; border: 1px solid var(--ui-line); border-radius: var(--vui-radius-tile,13px); background: #071a30; }
.vl-gallery img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.vl-gallery figcaption { margin-top: 8px; color: var(--ui-accent); font-size: 14px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.vl-launch:focus-visible,.vl-dialog a:focus-visible,.vl-close:focus-visible { outline: var(--vui-focus-width,3px) solid var(--ui-focus,var(--ui-accent)); outline-offset: 3px; }
@media(max-width:640px) { .vl-gallery { grid-template-columns: minmax(0,1fr); gap: 18px; } .vl-header,.vl-content { padding-inline: 14px; } }
@media(max-width:360px) { body.user-v1-focus-page .vl-launch { padding-inline: 8px; font-size: 13px; } }
