/* Keep the page's own background while its private content is covered. A fixed
   light canvas here flashes on every check of a dark shop or management page. */
html.wg-private-locked body { min-height: 100vh; min-height: 100dvh; color: transparent !important; text-shadow: none !important; }
html.wg-private-locked body::before, html.wg-private-locked body::after { visibility: hidden !important; }
html.wg-private-locked body > :not(#wg-session-shield) { display: none !important; pointer-events: none !important; }
html.wg-private-locked body * { visibility: hidden !important; }
html.wg-private-locked #wg-session-shield, html.wg-private-locked #wg-session-shield * { visibility: visible !important; }
#wg-session-shield { position: fixed; inset: 0; z-index: 2147483647; overflow: auto; padding: max(2rem, env(safe-area-inset-top)) 1.5rem; background: #f7f7f3; color: #202820; font: 1rem/1.6 system-ui, sans-serif; }
#wg-session-shield[aria-hidden="true"] { background: var(--wg-session-background, #08090c); background-color: var(--wg-session-canvas, #08090c); }
#wg-session-shield[hidden], #wg-session-shield [hidden], #wg-version-notice[hidden] { display: none !important; }
#wg-session-shield a, #wg-session-shield button { color: #fff; background: #254d3b; border: 1px solid #254d3b; border-radius: .4rem; padding: .7rem 1rem; display: inline-block; font: inherit; cursor: pointer; }
#wg-version-notice { position: fixed; bottom: max(1rem, env(safe-area-inset-bottom)); left: 1rem; right: 1rem; margin: auto; max-width: 40rem; max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem - env(safe-area-inset-bottom)); overflow: auto; box-sizing: border-box; z-index: 2147483646; padding: 1rem; border: 1px solid #bbc5b9; border-radius: .6rem; background: #fff; color: #202820; box-shadow: 0 .2rem 1rem #0003; font: 1rem/1.5 system-ui, sans-serif; }
#wg-version-notice p { margin: 0 0 .6rem; }
#wg-version-notice .wg-version-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
/* Page button themes include !important backgrounds. Own both colours here,
   so a public/shop theme cannot turn these white labels into white on lime. */
#wg-version-notice button { color: #fff !important; background: #254d3b !important; border: 1px solid #254d3b !important; border-radius: .4rem; min-height: 44px; margin: 0 !important; padding: .7rem 1rem !important; display: inline-block; font: inherit !important; letter-spacing: normal; text-transform: none; text-shadow: none; cursor: pointer; }
#wg-version-notice button.wg-version-later { color: #202820 !important; background: #fff !important; border-color: #52624f !important; }
#wg-version-notice button:focus-visible { outline: 2px solid #202820; outline-offset: 2px; }
/* Native document navigation remains intact; only newly rendered content fades
   in. Never capture an old private page or animate form submission feedback. */
@media (prefers-reduced-motion: no-preference) {
  html.wg-page-enter body > :not(script, style, link, #wg-session-shield, #wg-version-notice) { animation: wg-page-enter 160ms ease-out; }
  @keyframes wg-page-enter { from { opacity: 0; } to { opacity: 1; } }
}
