/* Shared privacy shield; opaque surface prevents stale content from showing. */
.session-guard { position: fixed; inset: 0; margin: 0; width: 100%; height: 100%; max-width: none; max-height: none; border: 0; z-index: 2147483647; display: grid; place-items: center; padding: 20px; background: var(--primary-background); color: var(--primary-dark); overflow: auto; }
.session-guard[hidden] { display: none; }
.session-guard-card { width: min(560px, 100%); padding: 0; overflow: hidden; border-radius: var(--radius-card); background: var(--primary-white); box-shadow: var(--shadow-card); text-align: start; }
.session-guard-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

body.session-locked > :not(#sessionGuard), body.session-locked dialog:not(#sessionGuard) { visibility: hidden !important; }

.session-guard-actions a { text-decoration: none; }
.session-guard-card:has(#sessionGuardLogin[hidden]) { visibility: hidden; }

/* Figma 352:272: compose the existing welcome ribbon and shared card tokens. */
.session-guard-band { height: 26px; overflow: hidden; }
.session-guard-band img { display: block; width: 1123px; max-width: none; height: 26px; }
.session-guard-content { padding: var(--space-20); }
.session-guard-layout { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: var(--space-10); }
.session-guard-copy { display: flex; flex-direction: column; justify-content: center; gap: var(--space-10); padding-inline-start: var(--space-20); }
.session-guard-copy h2 { margin: 0; font-size: var(--text-h4); font-weight: 800; color: var(--primary-black); line-height: normal; }
.session-guard-copy p { margin: 0; font-size: var(--text-body-1); line-height: normal; }
.session-guard-art { width: 248px; height: 177px; overflow: hidden; }
.session-guard-art img { display: block; width: 100%; height: auto; }
.session-guard-actions a { font-weight: 400; }
@media (max-width: 600px) {
  .session-guard-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-20); }
  .session-guard-art { grid-row: 1; justify-self: center; max-width: 100%; }
  .session-guard-copy { padding: 0; }
  .session-guard-actions { margin-top: var(--space-20); }
}
