.qr-eyebrow { color: #68755e; font-size: 10px; font-weight: 650; letter-spacing: .13em; margin: 0; }
.qr-host *, .qr-notice { box-sizing: border-box; }
.qr-host { color: #343831; font: 14px/1.6 -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif; }
.qr-dialog { font: inherit; box-sizing: border-box; border: 1px solid #d4dac9; padding: 0; background: #fcfbf7; color: inherit; width: min(520px, calc(100vw - 40px)); max-width: 520px; max-height: calc(100dvh - 48px); border-radius: 20px; box-shadow: 0 24px 80px #24331e30; overscroll-behavior: contain; }
.qr-dialog::backdrop { background: #2f372e66; backdrop-filter: blur(3px); }
.qr-card { padding: 20px 30px 24px; }
.qr-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.qr-close { display: grid; place-items: center; color: #626e56; border: 0; background: transparent; width: 44px; height: 44px; padding: 0; cursor: pointer; font: 300 28px/1 -apple-system, sans-serif; border-radius: 50%; }
.qr-close:hover { background: #edf0e5; }
.qr-heading { display: flex; align-items: center; gap: 17px; margin-top: 2px; }
.qr-glyph { display: grid; place-items: center; color: #607252; font: 50px/1.3 Georgia, 'Apple Symbols', serif; min-width: 54px; }
.qr-heading h2 { font: 400 34px/1.2 Georgia, serif; letter-spacing: -.02em; margin: 0; }
.qr-heading p { font-size: 12px; margin: 4px 0 0; color: #67705d; }
.qr-keywords { display: flex; flex-wrap: wrap; gap: 6px; margin: 19px 0 18px; }
.qr-keywords span { color: #526346; background: #e9edde; border-radius: 5px; padding: 4px 10px; font-size: 12px; }
.qr-facts { margin: 0; border-top: 1px solid #e0e5d7; }
.qr-row { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid #e8ecdf; }
.qr-row dt { color: #68785a; font-size: 11px; padding-top: 1px; }
.qr-row dd { font-size: 13px; margin: 0; overflow-wrap: anywhere; line-height: 1.65; }
.qr-medical { font-size: 10px; line-height: 1.6; color: #7d715e; margin: 12px 0 0; }
.qr-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; }
.qr-footer > span { color: #7b826f; font-size: 9px; }
.qr-details { color: #4d663e; font: 600 12px/1.6 -apple-system, BlinkMacSystemFont, 'Hiragino Sans', sans-serif; border: 0; background: none; padding: 8px 0; text-decoration: none; cursor: pointer; white-space: nowrap; }
.qr-dialog button:focus-visible, .qr-dialog a:focus-visible { outline: 2px solid #637951; outline-offset: 3px; }
@media (max-width: 640px) {
  .qr-dialog { inset: auto 0 0; margin: 0 auto; width: 100%; max-width: none; max-height: calc(100dvh - 16px); border-radius: 22px 22px 0 0; border-bottom: none; }
  .qr-card { padding: 16px 24px max(20px, env(safe-area-inset-bottom)); }
  .qr-heading h2 { font-size: 32px; }
  .qr-keywords { margin: 16px 0; }
  .qr-row { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 11px 0; }
  .qr-footer { margin-top: 14px; }
}
/* Manual popover stays above a nested Cast dialog without taking focus. */
.qr-notice { position: fixed; inset: auto 16px max(24px, env(safe-area-inset-bottom)); margin: 0 auto; width: fit-content; max-width: calc(100vw - 32px); border: 1px solid #d4dac9; border-radius: 12px; padding: 12px 18px; background: #fcfbf7; color: #343831; box-shadow: 0 8px 32px #24331e30; font: 13px/1.6 -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif; z-index: 100; }
.qr-notice::backdrop { background: transparent; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .qr-host * { scroll-behavior: auto; } }
